我刚做了一个提交,不小心留下了一些我应该删除的文件。如何在不丢失任何工作的情况下撤消此提交?我想撤消该提交,进入并删除2个文件,然后重新发送所有更改。
谢谢!
答案 0 :(得分:1)
您无需撤消任何内容。只要你没有推送提交:
git commit -a --amend -C HEAD
将修改您刚刚提交的提交,保留相同的提交消息,提交任何更新或删除(但不是未跟踪的新文件)文件。
所以,如果我删除文件,然后运行它将它添加到提交?
是的,如果您想要超级安全,可以git rm
文件并删除-a
标记:
git rm files/to/delete
git commit --amend -C HEAD
答案 1 :(得分:1)
首先隐藏您当前的作品
git stash
然后启动交互式rebase:
git rebase -i HEAD~5
您将看到您的提交列表,例如:
pick ff9c256 Added file manager logic
pick 8e09710 Added file manager UI
将'pick'更改为'e'进入提交的编辑模式,例如:
e 8e09710 Added file manager UI
然后在提交中添加/删除文件,编辑要在提交中更改的文件,
然后
git commit --amend
最后
git rebase - 继续
转到最后一次提交和
git stash apply
恢复当前的工作进度