我可以执行git show <some-commit>:path/to/some/file
,但是我要用什么替换<some-commit>
来获取文件的当前暂存版本?
背景:我正在编写一个pre-commit钩子,并且想在不使用储藏未暂存更改的情况下对已暂存文件运行检查。有更好的方法吗?
git show :path/to/some/file
命令查看文件。HEAD:path/to/some/file
访问的当前提交副本。 path/to/some/file
),请使用修订说明符:number:F
。 在这种情况下,它是:0:path/to/some/file
。 当数字为零时-通常是-可以省略一个冒号和零,只需保留:path/to/some/file
。git status
未提及该文件时,它在索引中,只是:0:path/to/some/file
具有与HEAD:path/to/some/file
相同的数据。 如果根本不在索引中-没有暂存槽-git status
将告诉您该文件被标记为删除。git checkout-index
到一个临时工作区。 要轻松测试所有索引文件是否处于零级,请使用git write-tree
,如果任何文件在除零之外的暂存槽中,则此命令将失败。)