git - 如何撤消最新提交并保留更改?

标签 git

我已经有几个提交,我需要撤消最新的一个,但要保留我在其中所做的更改。请建议如何做到这一点。谢谢。

最佳答案

git reset --soft HEAD^

请注意,只有在 HEAD 尚未被推送时,您才应该倒回 HEAD。


编辑 回应您对原始问题的评论:

如果您只想编辑最近的提交,Git 有一个简洁的功能 commit --amend。只需使用 git add/git rm/git checkout 直到您的索引处于您想要的状态(添加了新的更改,一些更改扔掉,删除文件,...)。然后使用 git commit --amend,它会 pop vi(或者你在 core.editor 中配置的任何内容)以及你最后一次提交的提交消息供你编辑。

请注意,当我说 ›edit the most recent commit‹ 时,Git 实际上创建了一个新的提交。所以不要这样做,当提交已经从其他人那里提取(即推送到您的公共(public)存储库)

关于git - 如何撤消最新提交并保留更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7317725/

相关文章:

svn - 从 SVN 切换到 GIT 进行 C# 开发?

从存储库历史记录中删除大文件后,Git 存储库仍然很大

git - 将 Git 树对象 check out 到工作目录中?

git - 如何以用户而非管理员身份访问 git

git - 在 Windows 上使用 Github

git - 撤消 git rebase

git - HEAD :master and HEAD? 和有什么区别

git - 如何配置 Git 以将其与 Dropbox 一起使用?

git - Git merge 会影响“merge ”分支吗?

git - 将cvs迁移到git时出错