GIT список новых / измененных / удаленных файлов - PullRequest
29 голосов
/ 29 марта 2012

Есть ли способ получить список всех новых / удаленных / измененных каталогов / файлов в локальном / удаленном репозитории друг с другом в GIT?

Ответы [ 7 ]

29 голосов
/ 24 мая 2012

Лучший способ перечислить эти файлы - использовать git status --porcelain

Например: Чтобы удалить ранее удаленные файлы:

git status --porcelain | awk 'match($1, "D"){print $2}' | xargs git rm
13 голосов
/ 29 марта 2012

Я не уверен, что вы имеете в виду по отношению друг к другу, но если вам нужен отдельный список (например, все измененные файлы), вы можете использовать git ls-files с правильными флагами (для измененных файлов это -m) , Если вам нужна вся эта информация одновременно, вы можете использовать git status --porcelain, чтобы получить выводимый сценарием вывод состояния.

9 голосов
/ 29 марта 2012

Один из способов сделать это с помощью команды whatchanged:

$ git whatchanged

Показывает, какие файлы были изменены для каждого коммита в дереве, и может также использоваться для просмотра специфики Взгляните на git help whatchanged

9 голосов
/ 29 марта 2012

Что вы, вероятно, хотите, это что-то вроде:

git fetch     # update what you know about the remote repo
git diff --name-status master origin/master

Но довольно сложно точно определить, какие ветви вы хотите отличить от вашего вопроса.

6 голосов
/ 16 апреля 2015

Используйте опцию пробного запуска (-n) git add:

git add -A -n

1 голос
/ 20 сентября 2017

Чтобы получить только имена файлов и статус измененных в данный момент файлов, вы можете просто:

git diff --name-status

Вы получите чистый вывод, подобный этому:

M       a.txt
M       b.txt

Теперь перенаправьте вывод в cut, чтобы извлечь второй столбец:

git diff --name-status | cut -f2

Тогда у вас будут только имена файлов:

a.txt
b.txt
1 голос
/ 30 июля 2016

использовать с командой --name-status

пример с тегами:

git diff v1.0.1 v1.0.2 --name-status

пример с коммитами:

git diff b79810fc4d be69e41d1c --name-status

в нем будут перечислены все обновленные файлы с ихстатусы: M - изменено D - удалено A - добавлено

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...