如何从退出退出?

时间:2014-04-06 17:52:45

标签: git

我已经退出提交(提交#1),但之后我意识到我需要提交。
所以我检查了提交#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^)。