当我不小心将文件提交到错误的分支时,通常使用 git reset --hard HEAD~1
。然而,使用这种方法通常会丢失所有已提交的文件。有没有一种方法可以重置提交,而不会丢失已编辑的文件?
--hard
,使用--soft
代替。因此,如果您想删除最新提交,您需要执行以下操作:git reset --soft HEAD^
。git branch newbranch
git reset --hard HEAD^
如果我想在已有的分支上提交:
git checkout otherbranch
git cherry-pick firstbranch
git checkout firstbranch
git reset --hard HEAD^
Alex的答案完整示例
git reset --soft HEAD^
git checkout otherbranch
git commit -am "Message"
git add --interactive
也可能会有所帮助! - Alexander Oh
git reset --soft HEAD~1
- VarunPandey