특정 분기에 대해서만 변경 사항을 보려면 git log를 어떻게 실행합니까?


395

원격 / 마스터 지점을 추적하는 로컬 지점이 있습니다. git-pull및을 실행 git-log하면 로그에 원격 분기 지점과 현재 분기의 모든 커밋이 표시됩니다. 그러나 원격 지점에 많은 변경 사항이 있었으므로 현재 로컬 지점에 대한 커밋 만 볼 필요가 있습니다.

특정 브랜치에 대한 커밋 만 표시하는 데 사용할 Git 명령은 무엇입니까?

노트:

구성 정보 :

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

답변:


526

지사가의 오프 작성한다고 가정 master한 후, 잠시 분기에 (이다 즉 분기 체크 아웃, 당신이 한) :

git cherry -v master

또는

git log master..

지점에 없으면 다음과 같이 지점 이름을 "git log"명령에 추가 할 수 있습니다.

git log master..branchname

지점이 (으)로 설정되어 있으면 대신 origin/master이라고 말하십시오 .origin/mastermaster


100
완전한! git log --no-merges master..정확히 내가 필요한 것입니다.
생명의 고속도로

3
@HighwayofLife : --no-merges특정 브랜치에서 커밋 만 표시하는 것처럼 보이지만 실제로 병합되지 않은 커밋 만 표시합니다
rynmrtn

5
부모 지점을 입력 / 알 필요가없는이 작업을 수행하는 방법은 어떻습니까? :)
ELLIOTTCABLE

1
변화율을 이해하기 위해 필자는 다음과 같은 incantation을 사용했다. :) 저자의 이름이 먼저 표시되고 커밋의 상대적 나이가 따른 한 줄 로그 형식을 생성한다.git log --no-merges --pretty='%C(yellow)%h%d %Creset%an %Cgreen%ar:%Creset %s' --graph master..
Noah Sussman

2
읽지 말아야합니까? git log master .. <지점> --oneline --no-merges
Alex Nolasco

104

사용하다:

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

대상 브랜치 전용입니다 (물론 --graph, --abbrev-commit --decorate는 더 연마됩니다).

주요 옵션은 --first-parent입니다. "병합 커밋을 볼 때 첫 번째 부모 커밋 만 따르십시오"( https://git-scm.com/docs/git-log )

커밋 포크가 표시되지 않습니다.


25
--first-parent <branch_name>옵션입니다. 작동합니다!
parasrish

3
분기 이름은 어디에 있고, 내가보고 싶어하는 지점은 어디입니까? 변경 사항이 3 개 밖에없는 지점에서는 수백 개가 표시됩니다.
Ed Randall

1
--first-parent <branch_name>또한 나를 위해 일했다! 에 대한 별칭으로 끝났습니다 git log --first-parent $current_branch_name --no-merges. @EdRandall에 대한 응답으로, 분기에 대한 커밋 + 분기 된 커밋을 표시합니다. 예를 들면 :
레이첼

2
죄송합니다. 곧 제출했습니다. 예를 들면 다음과 같습니다. 마스터에 A와 B를 커밋했습니다. 당신 new_feature은 마스터에서 분기 합니다. 커밋 C와 D를 추가합니다. 그런 다음 마스터에 E와 F를 추가합니다. 그런 다음 master를에 병합합니다 new_feature. git logon을 사용하면 new_feature"병합 마스터", F, E, D, C, A, B가 표시됩니다.을 사용하면 git log --first-parent new_feature --no-mergesD, C, A, B가 표시됩니다.
rachel

24

특정 브랜치에서 수행 한 커밋 만 원하면 아래 명령을 사용하십시오.

git log branch_name --author='Dyaniyal'

13

내가 겪었던 문제는 이것과 비슷하다고 생각하는데, 역사가 유용하기에는 주인이 내 지점보다 너무 앞서 있다는 것입니다. 지점으로 이동하는 데 시간이 오래 걸립니다.

시행 착오 후에, 이것은 내가 원하는 것을 대략 나에게 주었다.

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.