如何将回购A提交到回购B?

时间:2014-02-20 10:25:31

标签: git

我有一个名为A的回购, 和另一个名为B.的回购 两者都已克隆。

git clone https://github.com/xxxx/A.git
git clone https://github.com/xxxx/B.git

我cp B进入A的目录。

cp B A -r

然后

git add .

然后我尝试git commit

git commit

我发现B中的文件没有添加到A. 如何将B的所有文件添加到A? 并提交它们。

2 个答案:

答案 0 :(得分:4)

除非你想放弃repo B ,否则你不应该像这样添加存储库。您应该将 B 添加到 A 中,而不是git submodule,这就是为子模块机制创建的内容。

但如果您只想在 A 中使用 B 的简单副本,则可按以下步骤操作,

B 添加为远程

A master $ git remote add B https://github.com/xxxx/B.git

获取 B

A master $ git fetch B

B (我假设您对主分支感兴趣)合并到 A 主文件中

A master $ git merge B/master

解决冲突(如果适用),提交结果:

A master $ git commit

如果您不想将 B 合并到 A 主分支中,只需分支B/master而不是合并步骤,然后推送生成的分支。这样,B的代码将存储在 A

中的单独分支上

答案 1 :(得分:0)

我们git add .添加暂存的文件(准备提交)。如果文件已经在分阶段区域并且对这些文件进行了一些修改,那么git add .可以帮助您。

但在您的情况下,您似乎需要先将新文件带到暂存区域。然后你的提交将选择那些文件。

每当在工作树中添加新文件时,您必须将它们添加到来自非暂存区域的暂存区域,您必须明确提及 git add directory_name / (例如: git add B / ),它会将此目录中的所有文件添加到暂存区域。

执行git commit之后,B下的所有文件都会添加到A. 希望对你有帮助 !!