Ответ 1
Внутри каталога:
git status .
Вы можете использовать любой путь на самом деле, используйте этот синтаксис:
git status <directoryPath>
Например, для каталога с контуром "my/cool/path/here"
git status my/cool/path/here
Я хотел бы увидеть список файлов, измененных с момента последнего коммита, поскольку отображается "git status", но мне все равно, что файлы находятся в одном каталоге. Есть ли способ сделать это? Я попробовал 'git status <directory> ', но кажется, что это делает что-то совершенно другое (перечисляет все измененные файлы, как это было бы, если бы я написал "git add <directory> " ).
Документация для git -status не говорит многого, кроме того факта, что она принимает те же параметры, что git -commit делает (но git -комментировать цель не показывать списки измененных файлы...).
Внутри каталога:
git status .
Вы можете использовать любой путь на самом деле, используйте этот синтаксис:
git status <directoryPath>
Например, для каталога с контуром "my/cool/path/here"
git status my/cool/path/here
Причина, по которой git status
принимает те же параметры, что и git commit
, заключается в том, что цель git status
заключается в том, чтобы показать, что произойдет, если вы передали те же параметры, что и вы, переданные в git status
. В этом отношении git status
действительно git commit --preview
.
Чтобы получить то, что вы хотите, вы можете сделать это, что показывает поэтапные изменения:
git diff --stat --cached -- <directory_of_interest>
и это, которое показывает неустановленные изменения:
git diff --stat -- <directory_of_interest>
или это показывает, что:
git diff --stat HEAD -- <directory_of_interest>
Самое простое решение:
git status | grep -v '\.\.\/'
Конечно, это отбрасывает цвета.
В качестве примечания, если вы упростите проверку статистики git без перехода в каталог git;
### create file sudo nano /usr/local/bin/gitstat ### put this in #!/usr/bin/env bash dir=$1 if [[ $dir == "" ]]; then echo "Directory is required!" exit fi echo "Git stat for '$dir'." git --git-dir=$dir/.git --work-tree=$dir diff --stat ### give exec perm sudo chmod +x /usr/local/bin/gitstat
И вызов этого простого script: gitstat /path/to/foo-project
. Вы также можете использовать его, пока foo-project
просто выполняете gitstat .
, и предположим, что короче git status -s
, git diff --stat
или git diff --stat HEAD
, если вы всегда используете консоль вместо gui's.
Credits: