gpt4 book ai didi

git - 显示 Git 索引中和工作副本中更改的文件

转载 作者:太空狗 更新时间:2023-10-29 13:59:27 27 4
gpt4 key购买 nike

我有一个 Git 预提交 Hook ,它会去除空格并将修改后的文件保留在工作副本中,这样它就不会像 git add -p 那样破坏部分添加。

如果我从多个更改中提交了一个文件,并且纠正了空白,那么我在工作副本中更改了两个文件和一个暂存文件(也在工作副本中,但暂存更改有空白错误):

vi fileWithBadWS.txt  # leave bad whitespace
vi fileWithGoodWS.txt # don't leave bad whitespace
vi unrelatedFile.txt

git add fileWithBadWS.txt fileWithGoodWS.txt
git commit -m "Commited files, one with bad whitespace" # pre-commit hook fails

repo 现在看起来像这样:

On branch master
Changes to be committed:

modified: fileWithBadWS.txt # bad WS
modified: fileWithGoodWS.txt

Changes not staged for commit:

modified: fileWithBadWS.txt # fixed WS
modified: unrelatedFile.txt

我可以使用:

  • git diff 查看fileWithBadWS.txtunrelatedFile.txt
  • git diff --cached 查看暂存文件 fileWithBadWS.txtfileWithGoodWS

我如何在工作副本中修改和暂存的文件(即只是 fileWithBadWS.txt)?

注意:此问题使用空格和预提交 Hook 作为示例,但更普遍地适用于一些文件已暂存而另一些未暂存且有一些重叠的情况。

最佳答案

这个怎么样?

git diff --name-only --staged | xargs git diff --name-only

这将向您显示在工作树中暂存和更改的文件。

关于git - 显示 Git 索引中和工作副本中更改的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35940975/

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