关于git:如何删除推送到远程存储库的提交?


How to delete commit that is pushed to the remote repository?

当地分支机构:

'feature/100'

以及远程分支:

'master'

'Version2'

不小心,

  • 我已将我的功能分支"feature/100"合并到主功能
  • 还将其推送到远程存储库。
  • 但实际上,"feature/100"应该合并到远程分支"version2"中。

    如何修复(部分):。-

    我已将功能分支"feature/100"合并到远程分支"version2",并将其推送到服务器。

    1
    2
    3
    4
    git checkout Version2
    git merge --squash feature/100
    git add .
    git commit -m 'New message'

    但我想删除最后一次合并并提交到主分支的推送。怎么用?

    旁注:我只是这个项目的一员。所以即使删除了pushed commit,也不会伤害任何其他人


    您可以:

    还原您的更改

    江户十一〔四〕号

    这将创建一个新的提交,该提交将恢复您刚才向master提交的更改。这是最安全的选择,因为其他人可能已经放弃了你所推动的变革。

    更改您的提交历史记录并强制推动更改

    您可以删除刚刚提交的提交:

    埃多克斯1〔5〕

    埃多克斯1〔6〕

    你不想这样做,除非你绝对确定没有人从主控中删除你的更改。

    有关详细信息,请参阅从Git中的分支删除提交


    您可以在master上恢复合并提交。当您稍后真的想要合并分支时,您必须先还原还原。有关详细说明,请参见以下内容:

    http://www.kernel.org/pub/software/scm/git/docs/howto/revert-a-faulty-merge.txt


    可能已经太迟了,但是如果你想倒带你推过的树枝(master)通过一次提交,发出以下命令:

    1
    git push origin +master^:master

    +强制推送,master^描述上一次提交。:master推到远程主分支。