我只是Git的新手据我了解,以下命令将从最新提交中还原"文件名":
git checkout -- filename
当我在签名后获得控制时,我会得到3个参数,即2 shas和一种类型。
两个shas都是相同的,即最后一个提交和类型的sha值为0,这意味着发生了文件的结帐。
但是家,我是否会发现了哪些文件已退出?
文档说:
挂钩有三个参数:
- 上一个头的裁判,
- 新头的裁判(可能已经改变或可能没有改变(,
- 指示结帐是分支结帐(更改分支,
flag=1
(还是文件结帐(从索引检索文件,flag=0
(的标志。
在您的情况下,您的头部没有改变。您可能会将一些修改后的文件初始化回头部内容,但是除此之外,所有已经检查的文件仍被检查出来:
git show --pretty="" --name-only HEAD
由于您尚未更改分支,即使所有文件已经检查出来,标志也设置为0。因此,没有简单的方法可以查看哪些已修改并重置为负责内容。
关键是:检查后的钩子不能影响" Git Checkout"的结果。
换句话说,索引和工作树已经反映了他们的最终状态(并且不记得以前有什么(
如果您需要git checkout .
重置文件列表,则最好先进行git stash
。
然后是git checkout
:您的后检查后挂钩可以使用git stash show
,以列出结帐前存在的文件。