我只是做了一个提交,并意外地留在了我应该删除的某些文件中。我怎样才能在不丢失任何工作的情况下撤消这个提交?我想撤消该提交,进入并删除2个文件,然后重新提交所有更改。如何返回上次提交而不失去工作?
谢谢!
我只是做了一个提交,并意外地留在了我应该删除的某些文件中。我怎样才能在不丢失任何工作的情况下撤消这个提交?我想撤消该提交,进入并删除2个文件,然后重新提交所有更改。如何返回上次提交而不失去工作?
谢谢!
您不需要撤消任何操作。只要你还没有推承诺:
git commit -a --amend -C HEAD
会修改你刚才所作的承诺,保持相同的提交信息,提交任何更新或删除(但不包括未跟踪新)文件。
所以,如果我删除的文件,然后运行,这将其添加到提交?
是的,如果你想成为超级安全的,你可以git rm
文件并删除-a
标志:
git rm files/to/delete
git commit --amend -C HEAD
首先藏匿你目前的工作
git的藏匿
然后开始交互式变形:
git的变基-i HEAD〜5
你会看到你提交的清单,如:
pick ff9c256 Added file manager logic
pick 8e09710 Added file manager UI
变化 '捡' 到 'E' 进入编辑模式你提交的如:
e 8e09710 Added file manager UI
然后添加/删除文件提交,编辑要在提交更改文件,
然后
git的承诺--amend
,并最终
git的变基--continue
去最后一次提交和
混帐藏匿申请
来恢复当前的工作进度
不会丢失任何工作? 我不知道是否可能^^但它是个好问题。 对我来说,你创建了其他的git克隆文件夹,并在上次提交时恢复... – 2012-07-30 13:18:30