如何从当前状态恢复为在某个提交时创建的快照?
如果我这样做git log,那么我得到以下输出:
$ git log
commit a867b4af366350be2e7c21b8de9cc6504678a61b`
Author: Me <me@me.com>
Date: Thu Nov 4 18:59:41 2010 -0400
blah blah blah...
commit 25eee4caef46ae64aa08e8ab3f988bc917ee1ce4
Author: Me <me@me.com>
Date: Thu Nov 4 05:13:39 2010 -0400
more blah blah blah...
commit 0766c053c0ea2035e90f504928f8df3c9363b8bd
Author: Me <me@me.com>
Date: Thu Nov 4 00:55:06 2010 -0400
And yet more blah blah...
commit 0d1d7fc32e5a947fbd92ee598033d85bfc445a50
Author: Me <me@me.com>
Date: Wed Nov 3 23:56:08 2010 -0400
Yep, more blah blah.
Run Code Online (Sandbox Code Playgroud)
如何从11月3日恢复提交,即提交0d1d7fc?
我正在使用Git作为VCS的项目.我xyz从主人的主线分支切了一个分支.工作了一段时间后,我提交了我的代码并拉了分支主线.
拉得很好.然后我将代码与master合并.合并后,某些文件出现问题.合并后我没有提交代码.有人可以指导我如何中止这个合并并将我的分支机构带到我合并之前的状态吗?
我在我的项目中进行了很少的更改(我在远程分支而不是主服务器上工作),我提交了它们并在BitBucket上创建了一个pull请求并将分支合并到master.我忘了在提交后推送我的更改.现在,在尝试将当前分支切换到我的远程分支并在合并之前恢复到提交之后,我设法将所有更改恢复并将其备份到系统中的其他位置.我现在要做的是撤消我所做的错误合并.每次我单击合并并选择"反向提交",我收到以下错误消息:
"错误:提交是合并但没有给出-m选项.
致命:恢复失败"
分支现在看起来像这样:

我想删除合并并将其带到一个状态,以便它不再说master(4 behind)了.
有没有办法撤消受保护分支上的提交?
我的意思是,如果你推送了一个错误的提交,在一个非受保护的分支上,你可以撤消它将HEAD重置为最后一个所需的提交,或者恢复错误的提交然后强制推送.但受保护的分支不允许推力.在这种情况下修复它的方法是什么?
编辑:指定的(rigtht)提交不是合并.
我提交了一些更改,并推动了github中的远程分支.但后来我意识到我在提交中犯了一些错误,并且推了很多错误的文件.有没有办法恢复推动?
我搞砸了我的代码,遗憾的是我已经做了几次提交,并发现了一个看起来像是需要修复的神话的错误,所以唯一的解决方案应该是获取我之前上传到 github 的副本(这不是一个搞砸的)升级版)。(哦,谢谢伟大的 GITHUB!)
我尝试跑步git clone https://github.com/username/Spoon-Knife.git
remote: Counting objects: 253, done.
remote: Compressing objects: 100% (150/150), done.
Receiving objects: 64% (162/253), 20.00 Kremote: Total 253 (delta 119), reused
Receiving objects: 66% (167/253), 20.00 KiB | 15 KiB/s
Receiving objects: 100% (253/253), 60.99 KiB | 15 KiB/s, done.
Resolving deltas: 100% (119/119), done.
Run Code Online (Sandbox Code Playgroud)
但它似乎不起作用。一些文件保持不变。我该如何处理?从远程github版本拉取?
git ×7
git-merge ×2
commit ×1
git-checkout ×1
git-commit ×1
git-reset ×1
git-revert ×1
github ×1