Создайте список измененных файлов/каталогов/и т.д. использование мерзавца между двумя тегами

Я должен генерировать своего рода журнал изменений между двумя Тегами в рамках проекта, которым управляют с помощью мерзавца, конкретно исходный код андроида. Этот список должен включать любые файлы/каталоги/и т.д., которые были отредактированы, перемещены, переименованы, удалены, созданы.

Любая справка была бы большой. И если у Вас есть способ сделать это по всему источнику андроида сразу... еще лучше.

6
задан Guillermo Gutiérrez 29 August 2014 в 16:27
поделиться

2 ответа

Если вам нужно найти, какие файлы отличаются:

git diff --name-only <tag1> <tag2>

Если вам нужно найти все измененные файлы:

git log --name-only --pretty=format: <tag1>..<tag2> |
    grep -v '^$' | sort | uniq

- pretty = format: предназначен для подавления печати информации о коммитах и ​​печати только часть diff. Обратите внимание, что в случае git log имеет значение порядок и .

6
ответ дан 17 December 2019 в 00:06
поделиться

Как я упоминал в комментариях, "Как найти общие файлы, измененные между ветками git?" является основным решением здесь:

git log [--pretty=<format>] --name-only tag1..tag2

или

git diff --name-only tag1 tag2

(Также упоминается в Gitology recipe)

НО: как упоминалось в "Как получить список директорий, удаленных в моем git-репозитории?", Git отслеживает только содержимое файлов, а не сами директории.

Чтобы включить информацию о каталогах, вам нужно начать играть с git diff-tree.

любой каталог, который был создан или удален, будет иметь 040000 во второй или первой колонке и 000000 в первой или второй колонке соответственно. Это "режимы" записи дерева для левой и правой записей.

Что-то вроде (согласно Charles Bailey):

git diff-tree -t origin/master master | grep 040000 | grep -v -E '^:040000 040000'
1
ответ дан 17 December 2019 в 00:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: