git reset --soft "HEAD^6" 什么意思?
git reset --soft "HEAD^6" what does it means?
我 运行 git reset --soft "HEAD^6"
错误地在我的本地回购之后我 运行 git reset --soft "HEAD^"
现在我可以找到 100 多个具有本地更改的文件
git reset --soft "HEAD^6"
是什么意思?
编辑: 对于那些会问我为什么这样做的人,这是一个错字。
git reset --soft "HEAD^6" 将最后 6 次提交恢复到工作目录。
如果您的更改被推送到远程,您可以通过 git reset --hard origin/<<branch>>
返回到之前的状态
关于reset --soft
git reset --soft <commitHash>
将移动 HEAD
而不会更改文件状态 (doc)。
这就是为什么 git status
突然 看到 差异的原因。它现在将您的(未更改的)代码与旧参考进行比较。但是当您执行最后两个操作时,您的文件没有改变。
关于参考规格 HEAD^6
HEAD^6
将 尝试 指向 HEAD
提交的第 6 个父级。这在大多数情况下都会失败。也就是说,除非您的 HEAD
提交是(至少)6 头章鱼合并的结果。我想我们可以排除这种可能性。
结论
所以第二个操作失败了,是一个空操作。如果您的第一次重置是有意的,那么您就可以开始了!
正如其他人提到的那样,它将 HEAD 更改为第 6 个父项。要返回到以前的状态,您可以使用 git reset --hard origin/<branch>
重置到您的遥控器。如果您还没有推出更改,请查看 git reflog
然后执行 git reset --hard <sha>
.
我 运行 git reset --soft "HEAD^6"
错误地在我的本地回购之后我 运行 git reset --soft "HEAD^"
现在我可以找到 100 多个具有本地更改的文件
git reset --soft "HEAD^6"
是什么意思?
编辑: 对于那些会问我为什么这样做的人,这是一个错字。
git reset --soft "HEAD^6" 将最后 6 次提交恢复到工作目录。
如果您的更改被推送到远程,您可以通过 git reset --hard origin/<<branch>>
关于reset --soft
git reset --soft <commitHash>
将移动 HEAD
而不会更改文件状态 (doc)。
这就是为什么 git status
突然 看到 差异的原因。它现在将您的(未更改的)代码与旧参考进行比较。但是当您执行最后两个操作时,您的文件没有改变。
关于参考规格 HEAD^6
HEAD^6
将 尝试 指向 HEAD
提交的第 6 个父级。这在大多数情况下都会失败。也就是说,除非您的 HEAD
提交是(至少)6 头章鱼合并的结果。我想我们可以排除这种可能性。
结论
所以第二个操作失败了,是一个空操作。如果您的第一次重置是有意的,那么您就可以开始了!
正如其他人提到的那样,它将 HEAD 更改为第 6 个父项。要返回到以前的状态,您可以使用 git reset --hard origin/<branch>
重置到您的遥控器。如果您还没有推出更改,请查看 git reflog
然后执行 git reset --hard <sha>
.