在cloud9 IDE中,我在master分支中执行简单的rails应用程序。我决定尝试一下,所以我创建了这样的新分支:
git checkout -b experiment-branch
然后我创建了一些控制器,模型等,但实验失败了,我没有提交它。但是我不想删除这个分支,所以我试着回去掌握:
git checkout master
来自上一个实验的和代码(控制器,模型等)仍然存在于filetree,ApplicationController等中。
我尝试了git reset --soft <desired-previous-commit-hash>
,但没有用。
我假设第二个命令应该在创建分支experiment-branch
之前将我的应用状态返回给我。我是对的还是我做错了什么?
答案 0 :(得分:0)
如果您没有跟踪experiment-branch
中添加的新文件,那么这些文件仍然存在于未跟踪的文件中。
更改分支时不会删除未跟踪的文件。
您需要清除它们以删除未跟踪的文件。使用git clean -n
(干运行)来识别所有未跟踪的文件。
然后你可以git clean -f
清除干运行中显示的所有文件。或者您可以使用交互模式git clean -I
要从跟踪的文件中还原更改,请使用git checkout .
有关详细信息,请参阅此post。