让我们说在我们的Git存储库中,我们在分支master
上工作了一段时间。然后,我们大多数人开始在coolfeature
分支机构工作,而一些开发人员继续master
。
现在,在master
工作的开发人员已经失去了兴趣,而且我们分叉后开发的内容并不是很重要。但是我们希望主要的开发分支再次被称为master
。从概念上讲,我们基本上喜欢树看起来像这样:
*--master--X ----master
\ /
--coolfeature--
实现这一目标的最简单方法是什么?我们真的不想尝试合并coolfeature,我们很高兴标记为X的提交完全没有意义。
答案 0 :(得分:3)
使用新的主分支执行强制推送。
git push -f origin master
其他人获取代码并执行重置
git fetch origin master
git reset --hard origin/master
答案 1 :(得分:2)
我会这样做,避免强行推动:
git revert
,因为您分支了coolfeature。这会将存储库恢复到您分叉时的状态,但它不会重写历史记录,因此如果他们没有收到备忘录,那么任何人的存储库都会被破坏。关于标记X的要点是在完成所有更改之前标记该点。标签很便宜,在某些时候你可能想知道你退出提交的点并做了这样的改变。