>我已经完成了提交。接下来,我对文件进行了一些更改。然后我只对一个文件运行命令签出。看起来像这样:
git checkout HEAD^ filename.php
这根本没有帮助我。所以我想取消我的结帐。问题是:我不仅可以返回到上次提交,还可以返回到之后(未提交)所做的更改吗?
现代命令(自 Git 2.23,2019 年第 3 季度)将git restore
:
git restore -- filename.php
默认情况下,它将从 HEAD 恢复文件内容。
但它也会覆盖原始内容(本地未提交的更改),为您提供替代方法,例如 VSCode 时间线来恢复本地修改。
git restore -p or -m
至少会尝试在还原源和还原位置之间合并大量代码,而不是盲目覆盖所有内容。