我想知道在合并之后清理的最佳方法是什么,结果我不想要。
我的树看起来像这样:
F---G topic1,v1
/ \
A---B---C---D---E master
在将topic1,v1
合并到master
之后,我意识到v1不是正确的方法。所以我从B创建了一个新的分支,并实现了v2。
在这一点上,我需要的master
上只提交了一些提交,所以我将它们挑选到v2分支上并使用update-ref
将master
指向这个新分支。
F---G topic1,v1
/ \
A---B---C---D---E master
\
H---I topic1,v2
\
C---E master'
唯一剩下的问题是我已经把master
推到了原点。幸运的是,我是唯一的开发者。因为我真的想放弃旧的master
,我推断它对push --force
没问题。但我从来不喜欢这样,所以我想知道是否有更好的方法来处理这整个情况?
听起来像强迫推动的完全合理的情况。你是你说的回购中唯一的开发者,所以你不必担心会踩到别人的工作。大概你也明白,任何从旧的,废弃的主分支提交中分离出来的功能分支都很难合并到新的主分支中,你已经在脑海中权衡它你确实想要丢弃这些变更集。
如果你担心为了历史目的而想要旧的提交,那么在git中,什么都不会丢失。分店很便宜;在重置和强制推送之前创建主分支的副本(来自原始主分支头部的git checkout -B master_abandoned
),只要您决定保留分支,您将能够在将来轻松引用它。 。