尽管我试图避免它,但我必须维护三个master
等效的分支,每个分支都有微小的变化。我已经阅读git
和使用它几年了,所以我熟悉以下传统智慧:
merge
除非有意义,否则不要这样做。改为使用rebase
。- 如果您只需要提交一次,
cherry-pick
是您的朋友。 - 推送前总是
pull --rebase
在遥控器上。 - 保持特征符合
rebase
.
他们没有告诉你的是,传统智慧会创建一堆几乎相同的提交,除了会更改其 SHA1 的小细节。为什么这很重要?它违背了用git log --left-right --graph --cherry-pick --oneline branch1..branch2
and比较分支的目的git show-branch
,这尤其令人讨厌。感觉就像是在滥用廉价分支。这使得几乎不可能看到每个分支中缺少哪些补丁。
那么,如何使多个分支与相同的 SHA1 保持一致,以便可以使用这些工具呢?补丁是最好的方法吗?