0

我正在尝试制作一个 shell.sh,当使用 bash 运行时,它基本上只会运行命令:git ls-files -o -i --exclude-standard

从基本 repo 目录运行时效果很好,但是当我将当前目录更改为 *repo/folder 并从那里运行它时,没有输出。

so: \
 *repo/git ls-files -o -i --exclude-standard -- good \
 *repo/folder/git ls-files -o -i --exclude-standard -- no bueno

有谁知道它为什么这样做以及如何补救?谢谢

4

1 回答 1

2

运行git ls-files有点像运行ls -R——它只考虑当前目录或以下目录中的文件。它没有产生任何输出,因为(可能)唯一符合您的标准的文件仅存在于存储库的顶层。

听起来您总是想git ls-files从顶级目录运行,而不管您当前的位置如何。你可以这样做:

git -C $(git rev-parse --show-toplevel) ls-files -o -i --exclude-standard
于 2022-02-03T12:28:37.100 回答