По умолчанию многие команды git выполняются относительно вашего текущего рабочего каталога (состояние git, ls-файлы, ...).
Вы можете использовать -C
:
git -C ../ ls-files --modified
если вы хотите, чтобы команда выполнялась относительно git 'toplevel', вы можете выполнить:
git -C $(git rev-parse --show-toplevel) ls-files --modified
со справочной страницы git:
-C <path>
Run as if git was started in <path> instead of the current working directory. When multiple -C options are given, each subsequent
EDIT
Это также зависит от того, какой вывод вы хотите, так как @phd нет. Смотрите команды ниже и вывод, чтобы понять различные опции и их вывод:
> git -C ../ ls-files --modified
file.txt
> git -C $(git rev-parse --show-toplevel) ls-files --modified # wrt git toplevel no matter how deep you are in the tree
file.txt
> git ls-files --modified ../
../file.txt
> git ls-files --modified $(git rev-parse --show-cdup) # wrt git toplevel no matter how deep you are in the tree
../file.txt