Как получить уникальный список файлов, измененных в хранилище в пределах диапазона коммитов в Git? - PullRequest
9 голосов
/ 23 января 2012

Я хотел бы получить список файлов из репозитория git, которые были изменены или созданы в пределах диапазона коммитов. Это возможно? Я посмотрел на log, но, похоже, этого не достигается.

Ответы [ 3 ]

10 голосов
/ 23 января 2012

git diff --name-only ${range} даст вам именно то, что вы хотите: только имена файлов, измененных за это время.

На самом деле, это даст вам почти то, что вы просили: это будет включать файлы, которые были полностью удалены,не только измененные файлы.Также будут пропущены файлы, которые были созданы, а затем удалены в пределах диапазона.

Чтобы получить полную картину, вы, вероятно, захотите пройтись по диапазону, а затем получить результаты;используйте git log, чтобы получить диапазон коммитов, затем сравните каждый с родителем.

4 голосов
/ 23 января 2012
git diff --stat SHAstart..SHAend

выдаст вам список файлов, измененных между SHAIDs SHAstart и SHAend

1 голос
/ 23 января 2012

git diff --name-only --diff-filter=AM <REV1>..<REV2>

Это даст список файлов (--name-only), измененных или добавленных (--diff-filter=AM) во всех коммитах, доступных после и до (<REV1>..<REV2>), где и находится ревизия в git.

Для получения дополнительной информации об указании версий и диапазонов см. Эту страницу: http://schacon.github.com/git/git-rev-parse.html

Для получения дополнительной информации о параметрах diff и, в частности, о параметрах --diff-filter см. http://linux.die.net/man/1/git-diff

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