有人建议我使用以下命令将我的代码恢复到原始存储库中的状态:
git reset --soft HEAD~1
我寻找了这方面的信息,但没有找到任何可以解释的信息
HEAD~1
命令的 ~1 部分有什么作用?
此语法的官方文档位于gitrevisions
联机帮助页中。
HEAD~1
意味着:HEAD
使用第一个父级从 返回 1 个提交(大多数提交只有一个父级,因此此语法涵盖了您想要进一步返回的大多数情况)。
HEAD~1
很常见,它也可以缩写为HEAD~
.
但是,重要的是要了解,HEAD
这与源存储库的状态无关!HEAD~1
在这些情况下,将碰巧与原点的当前状态匹配:
在其他情况下,您可能会使用@{upstream}
which 引用当前分支的上游(也记录在gitrevisions
联机帮助页中)。
最后,--soft
通常也不是正确的选择。这意味着您的所有更改都将保留在工作树和索引中。您的文件根本不会更改,并将git status
所有更改显示为“待提交”。
如果您想基本上点击重置按钮并不可撤销地销毁本地与上游相比的所有已提交和未提交的更改,我建议这样做:
git reset --hard @{upstream}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句