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

use*_*064 5 git

当地分公司: -

'特征/ 100'

和远程分支机构: -

'主'

"版本2"

意外,

  1. 我已将我的功能分支'feature/100'合并到主服务器
  2. 还将其推送到远程存储库.

但实际上' feature/100 '应该已合并到远程分支' Version2 '

我如何修复它(部分): -

我已将功能分支' feature/100 ' 合并到远程分支' Version2 '并将其推送到服务器.

git checkout Version2
git merge --squash feature/100
git add .
git commit -m 'New message'
Run Code Online (Sandbox Code Playgroud)

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

Side Note我只是一个正在研究这个项目的人.所以即使推送提交被删除也不会伤害任何其他人

aus*_*ten 15

你可以:

还原您的更改

git revert HEAD

这将创建一个新的提交,以恢复您刚刚推送到master的更改.这是最安全的选择,因为其他人可能已经推翻了你所推动的变化.

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

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

git reset --hard HEAD~1

git push origin master --force

你不想这样做,除非你完全确定没有人从主人那里取下你的变化.

有关更多信息,请参阅在Git中删除分支的提交