百科问答小站 logo
百科问答小站 font logo



在开发过程中使用 git rebase 还是 git merge,优缺点分别是什么? 第1页

  

user avatar   pansz 网友的相关建议: 
      

多人协同工作应该用 merge,一个人写代码可以用 rebase。

merge会产生分支,然而从版本管理的角度,多人的工作本来就应该位于不同的分支。单纯为了线条好看而扭曲了实际开发过程中的事实,并不是可取的行为。

如果需要merge,本来就是因为在你提交之前有别人修改了代码,那么别人的代码事实上确实就是与你并行修改。从流程上讲,别人的代码与你并行修改,并且同时都基于某个早先的基线版本,那么这样的两组修改就确实应该位于不同的分支。分支归并正确的显示了多人协同开发过程中实际发生的客观事实。

因此显然应该选择merge,版本管理软件的职责就是准确的记录开发历史上发生过的所有事情,merge能确保你基于修改的基点忠实的反应了情况,这种情况下merge肯定是更准确的。

但如果是你自己一个人写的代码,多余出来的分支确实是不必要的,本来就应该把线整理成线性。那么确实可以考虑使用rebase。——这种情况下一般发生于自己一个人使用了多台电脑,多台电脑各有不同的未提交代码的情形,建议考虑rebase。


结论重复一下:归并目标是他人代码,用来解决两个不同开发者开发的代码冲突的时候,用merge,归并目标是自己代码,用来解决自己在两台不同电脑上修改代码的冲突的时候,用rebase。




  

相关话题

  GitHub 上可供新手阅读和玩耍的 Java 项目有哪些? 
  在开发过程中使用 git rebase 还是 git merge,优缺点分别是什么? 
  放在GitHub的简历被别人fork了怎么办? 
  怎么解决从github下载资源慢的问题? 
  GitHub 上有哪些优秀的 Python 爬虫项目? 
  SVN好还是GIT? 
  如何看待 GitHub 将公共存储库快照保存到北极地下? 
  在开发过程中使用 git rebase 还是 git merge,优缺点分别是什么? 
  如何克服解决 Git 冲突的恐惧症? 
  GitHub 上有哪些,简单、易学的 Python 项目? 

前一个讨论
比特币的结局是否会像郁金香一样?
下一个讨论
为什么民科总是反相对论?





© 2025-04-25 - tinynew.org. All Rights Reserved.
© 2025-04-25 - tinynew.org. 保留所有权利