gpt4 book ai didi

bash - 如何列出在 Git 中更改了文件的所有文件夹名称?

转载 作者:太空狗 更新时间:2023-10-29 14:26:57 25 4
gpt4 key购买 nike

git diff --name-onlygit diff --name-status 将列出所有已更改的文件,但是没有列出所有文件夹的命令包含文件的名称已更改。

例如,对于这个目录树:

test/
|
|__B/
|
|____b1.txt
|
|__C/
|
|____c1.txt

如果b1.txtc1.txt改变了,我想得到BC 作为输出。

最佳答案

这里有一个方法:

git diff --name-only | xargs -L1 dirname | uniq

解释

  • git diff --name-only: 列出所有改变的文件
  • xargs -L1 dirname:删除文件名以仅保留目录
  • uniq:去除重复项

您可以创建 an alias因此您不必每次都键入整个命令:

alias git-diff-folders="git diff --name-only | xargs -L1 dirname | uniq"

关于bash - 如何列出在 Git 中更改了文件的所有文件夹名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49338012/

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