Подтвердить что ты не робот

GIT список новых/измененных/удаленных файлов

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

4b9b3361

Ответ 1

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

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

git status --porcelain | awk 'match($1, "D"){print $2}' | xargs git rm

Ответ 2

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

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

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

Ответ 3

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

Ответ 4

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

$ git whatchanged

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

Ответ 5

Используйте параметр сухого хода (-n) git add:

git add -A -n

Ответ 6

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

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

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

пример с фиксацией:

git diff b79810fc4d be69e41d1c --name-status

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

Ответ 7

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

git diff --name-status

Вы получите голый вывод следующим образом:

M       a.txt
M       b.txt

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

git diff --name-status | cut -f2

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

a.txt
b.txt