我对代码库做了一些更改。在我能够完成我正在开发的功能之前,我必须将当前的分支切换到主控以演示某些功能。但只是使用“git checkout master”保留了我在开发分支中所做的更改,从而破坏了master中的一些功能。因此,我所做的是在提交消息“临时提交”的情况下在我的开发分支上提交更改,然后为演示签出master。删除一个git commit并且更改也不起作用
现在我已完成演示并重新开始工作在我的开发分支上,我想要删除“临时提交”,同时仍保留所做的更改。那可能吗?
我对代码库做了一些更改。在我能够完成我正在开发的功能之前,我必须将当前的分支切换到主控以演示某些功能。但只是使用“git checkout master”保留了我在开发分支中所做的更改,从而破坏了master中的一些功能。因此,我所做的是在提交消息“临时提交”的情况下在我的开发分支上提交更改,然后为演示签出master。删除一个git commit并且更改也不起作用
现在我已完成演示并重新开始工作在我的开发分支上,我想要删除“临时提交”,同时仍保留所做的更改。那可能吗?
是的,你正在寻找的命令是git reset
git reset HEAD^ # HEAD^ is one of the numerous ways to say :
# the parent of current commit
你可以这样做: git的复位--soft HEAD^
这将重置最后一次提交你做和保存所有在提交中完成的更改。但是你的变化仍然会上演。
如果你想取消它们,你也可以使用git reset以后取消所有文件。您的更改仍然存在。
可能的重复[如何在进行本地提交后再次取消我的文件?](http://stackoverflow.com/questions/6682740/how-can-i-unstage-my-files-again-after-使-A-本地提交) – LeGEC