Как запустить журнал git для просмотра изменений только для определенной ветки?

У меня есть локальная ветвь, отслеживающая ветку удаленного/ведущего. После запуска git-pull и git-log журнал покажет все коммиты в ветке удаленного отслеживания, а также в текущей ветке. Однако, поскольку в удаленную ветвь было внесено столько изменений, мне нужно увидеть только коммиты, сделанные для текущей локальной ветки.

Какова была бы команда Git для использования только для отображения коммитов для определенной ветки?

Примечания:

Информация о конфигурации:

[branch "my-branch"]
  remote = origin
  merge = refs/heads/master

Ответ 1

Предполагая, что ваша ветвь была создана из master, тогда, находясь в ветке (то есть вы отметили ветку):

git cherry -v master

или

git log master..

Если вы не в ветке, то можете добавить имя ветки в команду "git log", например:

git log master..branchname

Если ваша ветвь была сделана из origin/master, то скажите origin/master вместо master.

Ответ 2

Использование:

git log --graph --abbrev-commit --decorate  --first-parent <branch_name>

Это только для целевой ветки (разумеется, -graph, -abbrev-commit -decorate более полизируются).

Ключевым вариантом является -first-parent: "Следуйте только первому фиксатору родителя при просмотре коммита слияния" (https://git-scm.com/docs/git-log)

Это предотвращает отображение вилок фиксации.

Ответ 3

Если вам нужны только те коммиты, которые сделаны вами в определенной ветке, используйте команду ниже.

git log branch_name --author='Dyaniyal'

Ответ 4

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

После некоторых проб и ошибок, это дало мне примерно то, что я хотел:

git log --graph --decorate --oneline --all ^master^!

Ответ 5

просто запустите git log origin/$BRANCH_NAME