我正在研究一个Ruby项目,只是做了一些关于迁移和实体的错误决定。
好的,我会得到我的主分支的内容并覆盖我做的坏工作。
我用:
git fetch --all
git reset --hard origin/master
但是我在本地添加的文件仍然存在。我做错了什么?
答案 0 :(得分:0)
当你没有提交任何东西时,你不需要重置(我认为这就是这种情况)。
只需致电git checkout .
即可摆脱任何未提交的更改。
长篇故事是:
Git在少数"阶段存储变化"。
git checkout <changed_file>
或git checkout .
还原git add <filename>
或文件的一部分甚至是git add -p
时,它就会被称为暂存,准备提交。您仍然可以使用git reset HEAD <file>
git reset origin/master
删除提交,但保留更改(返回第一点)git reset --hard origin/master
与上述相同,但清除所有更改因此,对于您的情况,要删除本地未提交的更改:git checkout .
,如果您有一些提交,则不想要git reset --hard origin/master
答案 1 :(得分:0)
这里的秘诀是使用git clean -f删除所有非暂存文件。