为了实现 git 的极乐世界,我花了一整天的时间学习如何在当前合并的情况下利用 rebase。
当运行我认为是 git 101流程的内容时(我将在下面详细说明) ,当将更改推回原始内容时,我必须使用 push --force
。
I'm not the only one - I know that this is covered ground (see 1,2,3,4,5), and I understand the technical reasons 为什么 a force is necessary. My issue is this --- there are many (many) blog entries singing the praises of rebase and how it's changed their lives (see 1,2,push --force
0,push --force
1 to list a few), but none of them mentions that push --force
is part of their flow. However, nearly every answer to the existing stackoverflow questions say things like "yeah, if you're gonna rebase, ya gotta use push --force
".
考虑到重新定基拥护者的数量和宗教信仰,我必须相信,使用“推力”并不是再基础流程固有的一部分,如果一个人经常不得不强迫他们的推力,那么他们就做错了。
push --force
是 坏事。
这就是我的流程,我怎样才能在没有力的情况下达到同样的结果呢?
举个简单的例子
两个分支:
我已经为下一个版本提交了一些补丁和一些提交。
我想把这些补丁合并到我的主程序中,这样它们就不会在下一个版本中丢失。启蒙之前,我只想说:
git checkout master
git merge v1.0
但现在我在努力
git checkout master
git rebase v1.0
所以我来了:
Time for:
git push
No dice.