git show-branch не выводит полную историю изменений? - PullRequest
2 голосов
/ 27 июня 2010

Я не могу понять, почему git show-branch не дает мне такую ​​же полную историю, как показывает git log --graph.Почему возникает следующее несоответствие?

$ git log --graph --oneline --date-order
*   786c9bd Merge branch 'master' into testbr
|\  
* | dda9989 ch2 to couch
* | 05d0851 chg 1 to couch
| * 3df86c2 change 1 to tv
| * 900ad58 added tv
|/  
* 76352a8 mess
$ git show-branch
! [master] change 1 to tv
 * [testbr] Merge branch 'master' into testbr
--
 - [testbr] Merge branch 'master' into testbr
+* [master] change 1 to tv

Далее, если я создаю новую ветвь (см. Ниже), то git show-branch дает ожидаемый результат.

$ git branch foo testbr~3
$ git show-branch
! [foo] mess
 ! [master] change 1 to tv
  * [testbr] Merge branch 'master' into testbr
---
  - [testbr] Merge branch 'master' into testbr
 +* [master] change 1 to tv
 +* [master^] added tv
  * [testbr^] ch2 to couch
  * [testbr~2] chg 1 to couch
++* [foo] mess

1 Ответ

2 голосов
/ 27 июня 2010

По сравнению с git log, git show-branch показывает только:

  • ветви (HEAD, то есть '*non-HEAD:' ! ', которые связаны с HEAD)
  • фиксирует из ветвей, связанных с HEAD (ниже' -- '):
    • '* 'коммиты из HEAD филиал
    • ' + 'коммиты из non-HEAD филиалов
    • ' *+ 'коммиты из non-HEAD филиалов также являются частью HEADветвь
    • '-' объединяет коммиты

и их коммиты), а не все коммиты.

Тот факт, что ваш второй пример выглядит как начальный git log, означает только то, что те коммиты, отображаемые во второй ветке show, связаны с веткой HEAD, что делает их близкими к классическому графу коммитов (который создает git log)

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