gpt4 book ai didi

git - 如何 git 显示暂存文件?

转载 作者:行者123 更新时间:2023-12-04 16:27:20 24 4
gpt4 key购买 nike

我可以做git show <some-commit>:path/to/some/file但是我该怎么替换 <some-commit>获取文件的当前暂存版本?
上下文:我正在编写一个预提交钩子(Hook),我想对暂存文件进行检查,而不是诉诸于 stash 未暂存的更改。有没有更好的办法?

最佳答案

使用 git show :path/to/some/file .

“暂存”的文件代表文件的索引副本,它不同于其他副本,例如您可以通过 HEAD:path/to/some/file 访问的当前提交副本。 .

存储在索引中的文件有一个阶段号,通常为零。 (在冲突 merge 期间使用暂存槽 1、2 和 3。)

要引用名为 F 的文件的副本(在您的情况下 F = 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 ,如果任何文件在零以外的暂存槽中,则失败。)

关于git - 如何 git 显示暂存文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60853992/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com