每次我阅读git-rebase文档时都会感到困惑。对我来说,它感觉像一种低级操作(也就是说:黑魔法)。
引用文档:
假设存在以下历史记录,并且当前分支为“topic”:
引用文档:
假设存在以下历史记录,并且当前分支为“topic”:
A---B---C topic
/
D---E---F---G master
从这个点开始,以下任一命令的结果:
git rebase master
git rebase master topic
将会是:
A'--B'--C' 分支 / D---E---F---G 主分支
问题是:为什么有人想这样做?
首先,它似乎"重新编写"历史,就好像分支在不同的点开始一样;本质上,提交记录将会是"一堆谎言"。
另一方面,它不太可靠。我试过一次,在合并时出现了很多冲突,所有的东西都乱套了。我不太记得当时是怎么解决这个问题的,但如果我没记错的话,那是在一个临时测试分支上进行的。
另一个问题是:我如果不知道如何使用git-rebase
,是否会错过一些真正酷炫/省时的功能?
编辑:
相关问题:撤销 git rebase 的操作