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



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

  

user avatar   pansz 网友的相关建议: 
      

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

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

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

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

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


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




  

相关话题

  如何开始在 github 上学习东西? 
  怎样让git在linux始终显示status? 
  在开发过程中使用 git rebase 还是 git merge,优缺点分别是什么? 
  近期冲上 GitHub 热榜的网络游戏 「Wordle」 是什么?与其他文字猜谜游戏有哪些不同? 
  如何看待2020 年 3 月 26 日 GitHub 疑似遭受中间人攻击? 
  GitHub 为什么讨人喜欢? 
  如何写好 Git commit log? 
  在开发过程中使用 git rebase 还是 git merge,优缺点分别是什么? 
  Oracle、SAP、Github 暂停俄罗斯业务,Github 否认,此次限制会有多大影响? 
  Git还差什么?版本控制中还有什么痛点?要是做一个Git++(幻想一下)可以有些什么? 

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





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