我们目前正在为开源项目开发一项新功能,因此检查了主程序,并在过去几个月内完成了很多项目(> 400次提交)。现在我们想将它合并到upstream / master以构建最终版本。
我们现在面临的问题是,与上游大师合并的最佳方式是什么?
$ git fetch upstream
$ git merge upstream / master
或
$ git rebase upstream / master
或像git pull一样不同的东西?
主要目标应该是多次改变事物。
答案 0 :(得分:6)
我不推荐git pull
;后跟fetch
或merge
的{{1}}通常更安全,因为您可以通过比较rebase
和master
预览接下来会发生的事情。
使用origin/master
或merge
的决定可能不属于您。上游存储库是否有贡献指南?如果是这样,你应该遵循这些。
如果上游存储库没有贡献指南,那么rebase
或merge
可能是合适的。
但基于此
我们正在为开源项目开发一项新功能......
据我所知,有多个人正在使用此功能,因此您的存储库有多个副本。在这种情况下,我强烈建议不要使用rebase
。这会导致您的提交哈希值发生变化,并且可能会造成很多困难。作为一般规则,不会重写共享历史记录。
所以你留下了rebase
,这可能是我在这种情况下会使用的。