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



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

  

user avatar   pansz 网友的相关建议: 
      

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

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

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

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

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


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




  

相关话题

  如何评价阿里oceanbase GitHub点赞送礼? 
  git合并分支,为什么会比svn容易? 
  在开发过程中使用 git rebase 还是 git merge,优缺点分别是什么? 
  Git算不算程序员的必备技能? 
  GitHub 上有些什么好玩的项目? 
  在开发过程中使用 git rebase 还是 git merge,优缺点分别是什么? 
  如何有效阅读Github上开源项目代码? 
  微博叫博主,贴吧叫楼主,那github叫什么主啊? 
  如何删除Git里来自pull request的commit中包含的个人敏感信息? 
  微博叫博主,贴吧叫楼主,那github叫什么主啊? 

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





© 2024-11-09 - tinynew.org. All Rights Reserved.
© 2024-11-09 - tinynew.org. 保留所有权利