如果我对我的本地仓库进行了更改,那么git就推动了这一变化。我知道你可以修改并删除对本地仓库的提交,但是我输入什么命令来为我的远程仓库做类似的事情:
1)删除我从远程仓库的最后一次推送。 2)修改我对遥控仓库的最后一次推动。
答案 0 :(得分:1)
你必须强行推送你的新参考:
vim yourfile
git add yourfile
git commit --amend --no-edit
git push -f origin yourbranch
如果其他人正在使用您的仓库,请小心 - 特别是如果它是其他仓库的子模块。
答案 1 :(得分:1)
你必须先在当地做一些事情。
一种选择是进行交互式rebase并根据需要更改提交push -f
。
git rebase -i HEAD~10
答案 2 :(得分:0)
你可能会更好地服务revert
最后一次提交(即引入一个恢复前一个提交的新提交)。一旦你推送到远程仓库,你就不应该重写历史记录。使用git,revert有一个非常具体的含义:使用反向补丁创建一个提交以取消它。这样您就不会重写任何历史记录。
git revert sha
然后正常推送,因为你的恢复是一个新的提交,它不是push
的特殊情况,不需要强迫任何东西。
git-revert
manpage在其描述中涵盖了很多内容。来自Git社区书籍讨论git-revert的另一个有用的链接就在这里。