让我解释一下,我想合并两个具有相同名称的git存储库,但不同的远程。
也就是说,我有一个repit_name托管在git中,分支名称为repo_name_a,我在分支名称下添加了另一个分支到git:repo_name_b
现在,为了合并这些,我该怎么办?
答案 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
本地删除您的本地分支(以及远程删除的所有本地分支。)