Я хотел бы видеть список файлов, измененных с момента последнего коммита, как git status
показано, но я забочусь только о файлах, расположенных в одном каталоге. Есть ли способ сделать это? Я пытался git status <directory>
, но кажется, что это делает что-то совершенно другое (перечисляет все измененные файлы, как они были бы, если бы я написал git add <directory>
сначала).
Документация по git-status мало что говорит, кроме того факта, что он принимает те же параметры, что и git-commit (но цель git-commit - не показывать списки измененных файлов).
Причина, по которой
git status
выбираются те же параметры,git commit
что и вgit status
том, чтобы показать, что произойдет, если вы совершите действия с теми же параметрами, которые вы передалиgit status
. В этом отношенииgit status
действительноgit commit --preview
.Чтобы получить то, что вы хотите, вы можете сделать это, которое показывает поэтапные изменения:
и это, которое показывает неустановленные изменения:
или это, которое показывает оба:
источник
git ls-files --others <directory_in_question>
илиls-files -o
.git ls-files -o
рекурсивно показывает файлы в неустановленных каталогах, тогда какgit status
показывает только каталог верхнего уровня. И нужно будет составитьgit diff
,git ls-files
вывести и воссоздать всю цветовую кодировку и т. Д.,git status
Которая обеспечивает заменуgit status
. Я также очень хотел бы увидеть решение этой проблемы!Самое простое решение:
git status | grep -v '\.\.\/'
Конечно, это отбрасывает цвета.
источник
Как примечание, если вы упростите проверку статистики git, не заходя в каталог git;
И называя это простой скрипт:
gitstat /path/to/foo-project
. Вы также можете использовать его,foo-project
просто делая это,gitstat .
и, предположим, корочеgit status -s
,git diff --stat
илиgit diff --stat HEAD
если вы всегда используете консоль вместо графического интерфейса.Кредиты:
источник