Я пытаюсь создать отчет истории на основе журнала git. Но я бы хотел пропустить ветки, кроме мастера, даже если они объединены. Например, я создал ветку для работы с функцией X. В этой ветке было много мелких коммитов, и мне не нравятся эти небольшие шаги в отчете. Но когда я объединить эту ветку в master с сообщением «Feature X реализовано», я бы хотел увидеть эту веху в отчете. Спасибо, что помогли git новичкам.Отчет об истории Git
ответ
Если я правильно вас понимаю, то, что вы ищете, по сути является списком сличений в мастер.
Если это верно, то я считаю, что это будет работать:
git checkout master
git log --merges
Если вы хотите объединить ветку без слияния в всей истории коммитов для этой отрасли, вы можете использовать команду --squash
для merge
. Это применит все изменения от этой ветви к вашей рабочей директории без фактического создания каких-либо коммитов; на этом этапе вы можете создать единую фиксацию для всей истории. Так что если у вас есть master
ветвь, которая выглядит следующим образом:
commit 69b2303df9884627ade245fff4a3376f39646cbd
Author: Lars Kellogg-Stedman <[email protected]>
Date: Mon May 14 13:24:56 2012 -0400
commit on master
commit c8496d9ac4048a414faffb91486075ab0952e2d7
Author: Lars Kellogg-Stedman <[email protected]>
Date: Mon May 14 13:24:43 2012 -0400
initial commit
И еще одна ветвь newbranch
, которая выглядит следующим образом:
commit 71587063a73368ea160a78cd6d130f828cb05e0e
Author: Lars Kellogg-Stedman <[email protected]>
Date: Mon May 14 13:25:36 2012 -0400
commit 3 on new branch
commit 37ab4fc91c796ed05ecae0c8f504f263cee9603d
Author: Lars Kellogg-Stedman <[email protected]>
Date: Mon May 14 13:25:36 2012 -0400
commit 2 on new branch
commit 5fd0768e355d1cba0905aaed327fb20ef263d6ef
Author: Lars Kellogg-Stedman <[email protected]>
Date: Mon May 14 13:25:36 2012 -0400
commit 1 on new branch
commit 69b2303df9884627ade245fff4a3376f39646cbd
Author: Lars Kellogg-Stedman <[email protected]>
Date: Mon May 14 13:24:56 2012 -0400
commit on master
commit c8496d9ac4048a414faffb91486075ab0952e2d7
Author: Lars Kellogg-Stedman <[email protected]>
Date: Mon May 14 13:24:43 2012 -0400
initial commit
Тогда вы можете сделать это:
git checkout master
git merge --squash newbranch
git commit -m "merged changes from newbranch"
Тогда лог для отделения master
будет выглядеть так:
commit 0737d3dac5f769f837d4d0ce90ba1004c79d6a92
Author: Lars Kellogg-Stedman <[email protected]>
Date: Mon May 14 13:26:29 2012 -0400
merged newbranch into master
commit 69b2303df9884627ade245fff4a3376f39646cbd
Author: Lars Kellogg-Stedman <[email protected]>
Date: Mon May 14 13:24:56 2012 -0400
commit on master
commit c8496d9ac4048a414faffb91486075ab0952e2d7
Author: Lars Kellogg-Stedman <[email protected]>
Date: Mon May 14 13:24:43 2012 -0400
initial commit
Большое спасибо. Определенно хорошая идея только на один шаг от совершенства. Я не могу получить прямо сейчас, как определить, какие ветви уже были объединены и где они были объединены в мастер. – Stan
- 1. Отсутствует отчет в истории?
- 2. Git: Отмена переписывания истории?
- 3. Ремонт сломанной истории git
- 4. Git: Удаление истории файла?
- 5. Репозиторий Git без истории
- 6. Добавление истории в git
- 7. GIT различные истории команды
- 8. Очистка истории git
- 9. Публикация частичной истории git
- 10. git branch без истории
- 11. Свертывание истории хранилища git
- 12. Переписывание истории в Git
- 13. чистка истории git с BFG
- 14. Отчет об испытаниях
- 15. Понимание Отчет об ошибках
- 16. отчет об эффективности optaplanner
- 17. Отчет об ошибках оттока
- 18. отчет об ошибке отладки
- 19. Отчет об оценке объекта
- 20. Отчет об обновлении SQL
- 21. Отчет об ошибках Python
- 22. Информация об истории регистрации журналов
- 23. Информация об Android, сообщающая отчет об ошибке
- 24. Исправление истории в репозитории GIT
- 25. Передача истории CVS в GIT
- 26. Прогуляйтесь по истории с git?
- 27. Clone git repository без истории?
- 28. Скопируйте git-репо без истории
- 29. Объединить две истории репозитория git
- 30. Просмотр истории GIT перемещенных файлов
Спасибо. Единственная проблема заключается в том, что таким образом он игнорирует коммиты, которые первоначально были у мастера. Но если я изменю стратегию, и каждая веха потребует слияния, тогда она будет работать для меня. – Stan