Git将第二个文件添加到旧存储库而不是新存储库

时间:2019-11-01 17:13:43

标签: git repository commit

我有两个文件夹和.git(在git init之后),我想创建2个存储库:

  1. C
  2. 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存储库为空。

如何解决?

1 个答案:

答案 0 :(得分:0)

git init根据手册(https://git-scm.com/docs/git-init)在当前目录中创建一个git存储库。这意味着当您运行git init; git add C时,它将在当前目录中创建一个存储库。

您可能打算创建一个名为C的新存储库,以及一个名为CPP的存储库,如下所示:

  1. 假设您当前位于名为~/src的目录中:git init C;
    1. 这将创建一个新目录C,其中包含文件夹C/.git,这是存储库的根目录。
    2. cd C; git remote add origin https://github.com/tomerbarak11/C.git,将正确设置原点
  2. 返回~/src,重复:git init CPP
    1. 这将创建一个新目录C,其中包含文件夹C/.git,这是存储库的根目录。
    2. cd C; git remote add origin https://github.com/tomerbarak11/CPP.git,将正确设置原点

如果您在运行git init时没有目录名称,它将创建一个本地.git存储库,并且您将始终在其中意外操作。