在git中合并两个远程分支

时间:2014-06-10 17:17:30

标签: git github merge

修改

让我解释一下,我想合并两个具有相同名称的git存储库,但不同的远程。

也就是说,我有一个repit_name托管在git中,分支名称为repo_name_a,我在分支名称下添加了另一个分支到git:repo_name_b

现在,为了合并这些,我该怎么办?

1 个答案:

答案 0 :(得分:21)

我在下面给出的答案是提问者问题的上一个版本。现在看来这是一个完全不同的问题。这可能不相关。

您所描述的基本上是如何使用git,在分支中完成其他功能/工作,然后在完成/审核时合并回主数据。

git clone https://github.com/master_repo/master_repo

是将该repo的副本复制到本地计算机的正确命令。然后让分支工作,

git checkout -b test_repo也是正确的。

但是,当您在新分支中工作时,您将在该分支中工作git add <name of file>git commit很多次,然后当您想要更新远程存储库的历史记录时你的测试分支,你会做的

git push origin test_repo

这意味着将我的东西推送到test_repo分支中。

如果您正在通过寂寞进行回购,那么您想要合并到掌握,在本地机器上,最简单的事情就是

git checkout master git merge test_repo

您可能不会以合并冲突结束,但如果这样做,您将解决它们。然后从你当地的主分公司,你可以做到

git push origin master更新远程分支。

如果您正在与合作者一起开展项目,那么您可能希望使用github网站界面从test_repo分支到主分支创建“拉取请求”。然后,您的协作者可以审核您的更改并提出改进建议,并最终负责将您的分支合并为主数据库。

如果您自己正在做某事,也可以这样做。创建一个pull请求,其中包含您要求撤回到master中的更改的高级描述,然后您可以在Web界面上将pull请求合并到master中。这是一个更安全,更好的方法,因为它最终会如何使用git来协作处理项目,并且它留下了一个很好的描述性历史记录,表明所有合并完成的内容。

如果您选择这样做,那么一旦合并分支,您可以远程删除它并运行 git remote prune origin本地删除您的本地分支(以及远程删除的所有本地分支。)