когда я запускаю "git log e4bf97f044d40f01486e878614118dcc5270633 c .. origin / branchA --name-status" - я получаю все коммиты, включая те, которые не были прямыми коммитами указанной мной ветви. Как мне отфильтровать эти коммиты? Фильтрация указанных веток c не будет работать, потому что я не буду знать их имен. Я перепробовал множество найденных опций git, но ни один из них не дал мне того, что мне нужно.
В таком случае: где branchB был создан из branchA, позже я создаю один и тот же файл в branchA и branchB, затем в какой-то момент я изменяю файл в branchA и, наконец, объединяю branchB обратно в branchA branchB больше не является статусом разработчика.
Что мне нужно сделать с журналом git, так это показать список коммитов с соответствующими именами файлов и статусом файла. Вывод, который я получу из приведенного выше случая, таков:
459925641be77a18d4c9a649b904adaa684a14cb branchB
M /ui/pom.xml
cf7de161f17d4ec1fb0f9c04ead11848a7167431 branchA
M /ui/pom.xml
331c7a032c8be6e922bc19bf1659c79f289d397b branchB
A /ui/pom.xml
187a319ea67a5eb44eccd1ddbeb3072c3cf2eb01 branchA
A /ui/pom.xml
Над выводом я бы разобрал, чтобы удалить дубликаты имен файлов, но для статуса файла это немного сложнее. После генерации отчета я должен его просмотреть. Для вновь добавленных файлов я должен использовать подход A, в то время как для измененных файлов мне нужно использовать подход B. Как правильно определить правильное состояние файла, если я также получаю коммиты из других веток в моем выводе журнала git, имейте в виду, что Недавно добавленный файл уже был рассмотрен до того, как BranchB был объединен с BranchA, поэтому на данном этапе мне нужно только воспользоваться подходом A.
Любая помощь будет принята с благодарностью.