在我运行git reset --soft "HEAD^6"
后,我在本地存储区上错误地运行了git reset --soft "HEAD^"
现在我可以找到100多个具有本地更改的文件
git reset --soft "HEAD^6"
是什么意思?
编辑:对于那些问我为什么这样做的人来说,这是一个错字。
答案 0 :(得分:5)
关于reset --soft
git reset --soft <commitHash>
将移动HEAD
,而不会更改文件状态(doc)。
这就是git status
突然看到差异的原因。现在,它将您的(未更改的)代码与较旧的参考进行比较。但是当您执行最后两个操作时,文件没有未更改。
关于refspec HEAD^6
HEAD^6
将尝试指向HEAD
提交的第六个父对象。在大多数情况下,这将失败。也就是说,除非您的HEAD
提交是(至少)六头章鱼合并的结果。我想我们可以排除这种情况。
结论
因此第二个操作失败,并且是空操作。如果您打算进行第一次重设,那就很好了!
答案 1 :(得分:2)
正如其他人提到的,它将HEAD更改为第6个父级。要返回到先前的状态,您可以使用git reset --hard origin/<branch>
重置为遥控器。如果您尚未推出更改,请查看git reflog
,然后执行git reset --hard <sha>
。
答案 2 :(得分:-1)
git reset --soft“ HEAD ^ 6”将最后6次提交还原为工作目录。
如果将更改推送到远程位置,则可以通过git reset --hard origin/<<branch>>