在使用GIT分支时,什么情况下不应该使用"git rebase"命令?

19

我最近在学习Git,了解到rebasing在一些情况下可以避免合并提交记录和保持历史记录的干净整洁。

此外,我还了解到使用git rebase时需要额外小心。

请有经验的人在下面的回答中描述一些情况,在这些情况下使用git rebase是不明智的选择。


1
我知道这个问题有点宽泛,但我们可以在这里总结一些情况,以帮助像我这样的初学者。 - Foolish
https://git-scm.com/book/en/v2/Git-Branching-Rebasing#The-Perils-of-Rebasing - JB Nizet
1个回答

9
案例1:我们不应该在公共分支上进行变基操作,即如果你不是唯一在该分支上工作的人,并且该分支存在于本地和远程,则在这些分支上进行变基操作并不是一个好选择,因为这可能会导致具有相同更改但不同SHA ID的提交。 案例2:我们不应该对已推送的提交进行变基操作,即如果您正在分支br1上工作,并且您已经将一些提交推送到此分支的远程(或原始)版本,则不应该在此分支br1上进行变基操作。请参考此问题:Rebasing and what does one mean by rebasing pushed commits

1
案例1是一个有效的观点,并且令人信服,但在某些情况下,为了拥有干净的提交历史记录,您可能希望重写历史记录,除非分支在任何时候都没有分叉。因此,我的观点是,即使可以谨慎地重写远程历史记录,仍然可以重新定位提示并使用--force-with-lease选项进行推送。 - Vijaykrish93
1
什么是冒泡提交? - rakesh mehra
1
@rakeshmehra,同样的更改有两个不同的提交SHA ID。(抱歉,这是我们在Git培训中使用的内部术语,可能会引起混淆) - Foolish

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接