为什么在同一分支开发时不能用git rebase?

在网上找了很多git rebase的资料看,发现大家都说和别人开发同一分支时不能用rebase
下面就是在网上找的一段解释:

如果你提交了代码到远程,提交前是这样的:
image.png

提交后远程分支变成了这样:
image.png
而此时你的同事也在 feature1 上开发,他的分支依然还是:
image.png
那么当他 pull 远程 master 的时候,就会有丢失提交纪录。

没懂为什么会丢失提交记录?
还有为什么用git rebase会修改提交记录?因为它把别人在master上改的在自己的分支(feature1)提交了吗?

阅读 2.8k
2 个回答

我自己本人和我团队都用git rebase,只要你会玩,怎么都能玩出花来。根本没有所谓“不能”一说,不然人家开发这个功能干啥?

git的原则是 只要提交了, 就不应该再修改. 和rebase没啥关系.

只是rebase会重做本地的历史记录. 如果有远程的提交日志被修改, 那会干扰到别人, 无法合并.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题