恢复之前的git提交?

5
显然,我的一些旧的 bug 修复提交在最近合并旧分支到新分支时被删除了。我在日志中找到了该提交并获得了 ID (403357cab89465ce68001762d35fe27b57aeec65)。现在我只想将该提交恢复到当前工作分支,以便首先对这些更改进行差异比较,但很可能会再次提交它们。我该怎么做?
git checkout 403357cab89465ce68001762d35fe27b57aeec65 并不起作用。
另外,顺便说一下,该提交涉及多个文件的编辑。
1个回答

12

执行 git cherry-pick sha1 命令,可将该提交记录放置在当前 HEAD 之上。


哦,哇,那基本上就是将提交拿起来并重新插回去了!谢谢,但我希望先看到已暂存的更改,这样我才能对它们进行差异比较,确认我需要它们等操作后再决定提交。 - Doug
1
现在你可以执行 git reset HEAD^ 命令,将更改保留在工作副本中但移除提交记录(假设你还没有推送)。此外,你可以通过点击勾选标记来在系统中接受一个答案 :) - Daenyth
这正是我需要的,以恢复在合并上游主分支时出现的“Broken pipe”错误。谢谢! - notbrain

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接