1
我有兴趣恢复推送提交,但也从图中删除它。
例如我有:git revert删除提交
tag
A <— B <— C <— D <— E <— F
HEAD
我想删除F
完全,所以我的图表看起来像:
tag
A <— B <— C <— D <— E
HEAD
我怎样才能做到这一点?
我有兴趣恢复推送提交,但也从图中删除它。
例如我有:git revert删除提交
tag
A <— B <— C <— D <— E <— F
HEAD
我想删除F
完全,所以我的图表看起来像:
tag
A <— B <— C <— D <— E
HEAD
我怎样才能做到这一点?
尝试重写历史记录是错误的。
克隆/拉动它的人将很难整合你的变化,并最终推回你想要删除的变化。
最好还原一次提交,它会在您的历史记录中追加一个“否定”提交。
git revert F
而只是把它
git push origin master
如果你知道自己在做什么,或者不在乎打破一切,你可以改写历史:
git reset --hard HEAD^
将索引移回父提交(E)
git push --force
将新的分支引用推送到远程存储库,无论它是否快进。
git reset --hard HEAD〜1 – 0andriy
为了记录,此操作是历史重写操作。因此,如果您已经推送了提交,而其他人已经推送了它并且您现在推送 - 强制提交(您明确必须执行的操作),那么您将摧毁远程历史记录。 – ckruczek