2014-09-11 4 views
1

Я хочу перечислить все коммиты, добавленные в feature филиал, который не находится на хозяин. Что-то вроде списка коммитов на странице запроса github pull.Список commits in git branch

Я периодически вытаскивал из мастер, но также имел некоторые локальные слияния (обе стороны принадлежат к ветви признаков), так как в этой ветке было много людей, поэтому я не могу исключить все слияния или ограничения для первого родителя.

Есть similarquestions, которые предполагают git log master..feature, но когда я попробовал, что это также перечислен коммиты мастера, которые были объединены в функцию. Добавление --cherry или переход на тройную точку вообще не помогли, и прежний разрывает gitk.

+0

В соответствии с man-страницей git-rev-parse: «Эта заданная операция появляется так часто, что для нее существует сокращение. Когда у вас есть две коммиты r1 и r2 (названные в соответствии с объясненным синтаксисом в ОСОБЕННОСТИ ПЕРЕСМОТРЕНИЙ выше) вы можете запросить коммиты, которые достижимы из r2, за исключением тех, которые достижимы из r1 на^r1 r2, и может быть записано в виде r1..r2. « ». Git log master..feature должен показывать все коммиты, доступные из функции и недоступны от мастера, поэтому теперь вы видите фиксацию с помощью мастера при выполнении git log master..feature. – dseminara

+0

Вы правы и благодарите за то, что указали на авторитетную документацию. Оказывается, я сравнивал неправильные вещи. –

ответ

0

Теперь я осознаю свою ошибку. Я делал master..feature, но моя местная ветка master была далеко позади origin/master, из которой я делал слияния. Использование git log origin/master..feature - намного лучший выбор.

0

Я думаю, вы хотите git cherry. Он найдет те коммиты, которые еще не слиты с восходящим потоком (в вашем случае это мастер).

+0

Если git log -cherry работает некорректно, то git cherry тоже не собирается. –