Git将第二个文件添加到旧存储库而不是新存储库
Posted
技术标签:
【中文标题】Git将第二个文件添加到旧存储库而不是新存储库【英文标题】:Git adds second file to old repository and not to new repository 【发布时间】:2020-02-27 23:40:45 【问题描述】:我有两个文件夹和 .git(在 git init 之后),我想创建 2 个存储库:
-
C
CPP
我创建了 C 存储库:
git init
git add C
git commit -m "."
git remote add origin https://github.com/tomerbarak11/C.git
git push -u origin master
然后我像这样创建了第二个存储库 CPP:
git init
git add CPP
git commit -m "."
git remote add origin https://github.com/tomerbarak11/CPP.git
git push -u origin master
首先,当我出于某种原因执行第二次提交时,它开始重新上传文件(它已将它们添加到 add 中)
当我写提交时,它说fatal: remote origin already exists.
无论如何我都尝试推送它,它将所有文件添加到 C 存储库中,而 CPP 存储库为空。
如何解决?
【问题讨论】:
听起来你每次都在同一个目录中运行git init
。一旦 Git 创建了一个存储库,second git init
在很大程度上是一个无所事事的操作。 (后来的git init
有钩子和钩子模板的副作用,但这是你没有使用的高级功能。)
【参考方案1】:
git init
根据其手册 (https://git-scm.com/docs/git-init) 在当前目录中创建一个 git 存储库。这意味着当您运行git init; git add C
时,它将在您的当前目录中创建一个存储库。
您可能打算创建一个名为 C 的新存储库和一个名为 CPP 的新存储库,如下所示:
-
假设您当前位于名为
~/src
的目录中:git init C
;
-
这将创建一个新目录 C,其中包含一个文件夹
C/.git
,它是存储库的根目录。
cd C; git remote add origin https://github.com/tomerbarak11/C.git
,将正确设置原点
~/src
,重复:git init CPP
-
这将创建一个新目录 C,其中包含一个文件夹
C/.git
,它是存储库的根目录。
cd C; git remote add origin https://github.com/tomerbarak11/CPP.git
,将正确设置原点
如果你在没有目录名的情况下运行git init
,它将创建一个本地 .git 存储库,并且你会不小心一直在其中操作。
【讨论】:
以上是关于Git将第二个文件添加到旧存储库而不是新存储库的主要内容,如果未能解决你的问题,请参考以下文章
构建被配置为更喜欢设置存储库而不是项目存储库,但存储库“maven”是由构建文件“build.gradle”添加的
有没有什么办法可以将我的存储库下载为zip并添加到我的本地存储库而不是使用git(repo snc命令)?
将 2 个 git 存储库与冲突结合在一起后,我希望 Powershell 中的 git mergetool 始终为每个文件选择(m)修改