我已经退出提交(提交#1),但之后我意识到我需要提交。
所以我检查了提交#1。现在,我怎样才能将这个版本放回分支的末尾?
答案 0 :(得分:2)
如果您还没有完成任何其他工作,您只需在该提交中重置当前分支。
git checkout yourBranch
git reset --hard <sha1>
OP Barnabas Szabolcs还在评论中提出建议:
git reset --soft @^
(最近的git,@是HEAD的别名)
这将允许保持工作树和索引(已检出的旧提交)保持不变,同时将HEAD重置为先前的提交以便创建一个新的(具有已检出的提交的内容)。
如果您已完成其他提交,则需要在当前分支中挑选该提交:
git checkout yourBranch
git cherry-pick <sha1>
在任何情况下,检查旧提交本身都是危险的,因为它会导致HEAD情况分离(除非后跟git reset ---soft HEAD^
)。