Почему мой граф журнала git растет еще на одну строку после того, как я каждый раз объединяю ветку? - PullRequest
2 голосов
/ 17 мая 2019

Я использовал git log --oneline --graph --decorate --all в качестве псевдонима git ll, чтобы увидеть график коммитов в терминале

Но проблема смущает меня, когда я каждый раз объединяю свои develop с master. Вывод команды выше может быть такой:

* 0d1bf7b (HEAD -> master) Fix typo
*   f843224 Merge 'develop' to 'master'
|\
* | d673b76 (origin/master) Remove console.log for license information
* | 5080afc Remove all http url in production
* |   f28e74b Merge branch 'develop'
|\ \
* \ \   75c5b90 Merge branch 'develop'
|\ \ \
* \ \ \   ec189e6 Merge branch 'develop'
|\ \ \ \
* \ \ \ \   eb79c75 Merge branch 'develop'
|\ \ \ \ \
* \ \ \ \ \   74631ef Merge branch 'develop'
|\ \ \ \ \ \
| | | | | | | * f7a4155 (light) Fix typo
| | | | | | | *   1d6c411 Merge 'develop' to 'light'
| | | | | | | |\
| | | | | | | |/
| | | | | | |/|
| | | | | | * | 3715f47 (develop) Finish GroupCard in Setting page
| | | | | | | * e606e68 (origin/light) Remove console.log for license information
| | | | | | | * 676774c Remove all http url in production
| | | | | | | * c1bef16 Fix api url error

Вы видите, что после слияния develop в master генерируется слишком много строк. Пока это не большая проблема, но слишком много строк будут мешать мне видеть коммиты когда-нибудь.

Так что, я не так делаю? Ребята, вы когда-нибудь сталкивались с такой проблемой? Как вы справляетесь с этим?


[Редактирование: 2019/05/20]

Спасибо, ребята. Я ценю ваши добрые ответы.

Я хочу исправить свою проблему и прояснить ее немного. Я использую некоторые инструменты с графическим интерфейсом, такие как Source tree, и он показывает журнал git, как показано ниже. На этом графике не так много сложных линий с таким же хранилищем, как вы можете видеть.

Так возможно ли, если я захочу показать график в виде интерфейса в командной строке?

git log in Source tree

Ответы [ 2 ]

2 голосов
/ 17 мая 2019

Именно поэтому сквош и ребаз действительно существуют (для локальных коммитов разработки вы еще не выдвинули).
Это помогло бы сохранить историю линейной, вместо того, чтобы git-журнал показывал вам каждое слияние на отдельной дорожке.

Так возможно ли, если я захочу показать график в виде интерфейса в командной строке?

В командной строке вы можете избежать всех этих лишних строк, добавив --no-merges:

git log --decorate --oneline --graph --no-merges --all --branches
0 голосов
/ 17 мая 2019

Конечно, вы должны использовать ребаз и сквош, где это применимо. Кроме того, вы можете попробовать следующую опцию --no-merges, например:

git log --oneline --graph --decorate --all --no-merges

...