Дополнительно
Как перечислить все файлы в коммите?
Я ищу простую команду git
, которая предоставляет красиво отформатированный список всех файлов, которые были частью коммита, заданного хешем (SHA1), без посторонней информации.
Я пробовал:
git show a303aa90779efdd2f6b9d90693e2cbbbe4613c1d
Хотя в нем перечислены файлы, он также включает нежелательную информацию о различиях для каждого.
Есть ли другая команда git
, которая предоставит только тот список, который мне нужен, чтобы я мог избежать анализа его из вывода git show
?
2604
28
Предпочитаемый путь (потому что это команда plumbing; предназначена для программирования):
Другой путь (менее предпочтительный для сценариев, потому что это команда porcelain; предназначена для работы с пользователем)
--no-commit-id
подавляет вывод идентификатора фиксации.-- pretty
указывает пустую строку формата, чтобы избежать сути в начале.--name-only
показывает только имена файлов, которые были затронуты (Спасибо, Хэнк). Вместо этого используйте--name-status
, если вы хотите увидеть, что случилось с каждым файлом ( D eleted, M odified, A dded)-r
состоит в том, чтобы перечитать в поддеревьяЕсли вы хотите получить список измененных файлов:
Если вы хотите получить список всех файлов в коммите, вы можете использовать
Я просто предположу, что
gitk
не нужен для этого. В этом случае попробуйтеgit show --name-only < sha >
.Я лично использую комбинацию - stat и - oneline с командой show :
Если вам не нравится / не нужна статистика добавления / удаления, вы можете заменить - stat на - только имя
Вы также можете сделать
и вы можете просматривать различные коммиты, сообщения о коммитах и измененные файлы.
Введите q, чтобы вернуть вашу подсказку.
Недавно мне нужно было перечислить все измененные файлы между двумя коммитами. Поэтому я использовал эту (также * nix specific) команду
Обновление : Или, как указывает Итан ниже
Использование
--name-status
также будет включать изменение (добавлено, изменено, удалено и т. Д.) Рядом с каждым файломСамая простая форма:
git show - stat (hash)
Это легче запомнить, и оно даст вам всю необходимую информацию.
Если вам действительно нужны только имена файлов, вы можете добавить опцию
--name-only
.git show - stat --name-only (hash)
Я использую псевдоним измененный довольно часто. Чтобы настроить это:
тогда:
Подобные команды, которые могут быть полезны:
Использование стандартной команды git diff (также подходит для сценариев):
Если вы хотите также статус измененных файлов:
Это хорошо работает с коммитами слияния.
Использовать
Это покажет вам идентификатор коммита, сообщение, измененные файлы и были ли они изменены, созданы, добавлены или удалены. Несколько из команды «все в одном».
& Лт; pre > $ git log 88ee8 ^..88ee8 - только имя - pretty = "формат:" & Лт; / pre >
Хорошо, есть несколько способов показать все файлы в определенном коммите...
Чтобы уменьшить информацию и показать только имена файлов, которые были зафиксированы, вы просто можете добавить флаг
--name-only
или--name-status
...Эти флаги просто показывают вам имена файлов, которые отличаются от предыдущих коммитов по вашему желанию...Таким образом, вы можете сделать
git diff
, а затем-- name-only
, с двумя хэшами коммита после< sha0 > < sha1 >
, что-то вроде ниже:Я также создаю изображение ниже, чтобы показать все шаги, которые необходимо выполнить в этой ситуации:
Я использую это, чтобы получить список измененных файлов между двумя наборами изменений:
Мне нравится использовать
Есть также
git whatchanged
, который является более низким уровнем, чемgit log
Он выводит сводку коммита со списком файлов под ним с их режимами и, если там добавлено (
A
), удалено (D
) или изменено (M
) ;Дало бы что-то вроде:
Я знаю, что этот ответ на самом деле не соответствует "без посторонней информации.", но я все еще думаю, что этот список более полезен, чем просто имена файлов.
попробуйте эту команду для имени и изменения количества строк
только показать имена файлов
для получения последнего хеша коммита, затем попробуйте эту команду
последний коммит с отображением имени файла и статуса файла: изменение, создание или удаление
или для всех
для более продвинутой информации git log прочитайте эту статью
https://devhints.io/git-log-format
https://devhints.io/git-log
Используйте простую команду из одной строки, если вы просто хотите изменить список файлов в последнем коммите:
Мне нравится это:
Перечислите файлы, которые изменились в коммите:
Это не показывает сообщения журнала, дополнительные новые строки или любой другой беспорядок. Это работает для любого коммита, а не только для текущего. Не уверен, почему это еще не было упомянуто, поэтому я добавляю это.
Нашел идеальный ответ на этот вопрос:
Так что я могу знать