通过1次提交回滚本地和远程git存储库

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (14)

我读过关于这个话题的类似文章,我一辈子都想不出该如何正确地做到这一点。

我检入了大约1000个我不想要的文件,我宁愿不必经过1x1,然后将它们全部从回购程序中删除。

  • 我有遥控器master分支。
  • 我有本地的master分支。

他们都在同一修订版上。

我想在1提交前回滚我的遥控器。

说我的历史masterA--B--C--D--E...

我想回我的本地人D...

然后将其推送到Remote,以便我当前的散列将是D--远程和本地。

我在做这件事有问题。

我用的是吉特塔,但我对命令行很满意。有什么帮助吗?

最新情况:下面是很棒的评论。使用重置似乎是部分不鼓励的,特别是如果存储库与其他用户共享的话。在不使用硬重置的情况下撤销以前提交的更改的最佳方法是什么?是吗?有办法吗?

提问于
用户回答回答于

可以改变你的分支机构的头,并强制将它推送到所述的远程回购:

git reset --hard HEAD^ 
git push -f 
git reset --hard HEAD^^
git push -f 

用户回答回答于

将本地分支的第一次修订设置回(HEAD^指的是返回一次修订):

git reset --hard HEAD^

将变更推到原点:

git push --force

你得用力推,否则git会发现你落后了origin只要一次承诺,什么都不会改变。

--force告诉git覆盖HEAD在远程回购中没有尊重任何进步。

扫码关注云+社区