it-swarm.dev

특정 브랜치에 대해서만 변경 사항을 적용하면 로그를 실행할 수 있습니까?

원격/마스터 분기를 추적하는 로컬 분기가 있습니다. git-pullgit-log를 실행하면 로그에 원격 추적 분기뿐만 아니라 현재 분기의 모든 커밋이 표시됩니다. 그러나 원격 지점에 많은 변경이 있었기 때문에 현재 로컬 지점에 대한 커밋을 확인해야합니다.

특정 지점에 대한 커밋 만 표시하는 데 사용할 힘내 명령은 무엇입니까?

노트:

구성 정보 :

[branch "my-branch"]
  remote = Origin
  merge = refs/heads/master
311
Highway of Life

당신의 브랜치가 master으로 생성되었다고 가정하면 브랜치에있는 동안 (브랜치를 체크 아웃했다) :

git cherry -v master

또는

git log master..

브랜치에 있지 않다면 다음과 같이 브랜치 이름을 "git log"명령에 추가 할 수 있습니다 :

git log master..branchname

귀하의 지사가 Origin/master로 만들어 졌다면, master 대신 Origin/master라고 말하십시오.

424
Wayne Conrad

용도:

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

그것은 타겟 브랜치 (물론 --graph, --abbrev-commit - decorate가 더 polisihing)에만 해당됩니다.

핵심 옵션은 --first-parent : "병합 커밋을 보았을 때 첫 번째 부모 커밋만을 따르십시오"( https://git-scm.com/docs/git-log )

커밋 포크가 표시되지 않도록합니다.

74
yerlilbilgin

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

git log branch_name --author='Dyaniyal'
16
Dyaniyal Nadar

내가 생각한 문제는 이것이 비슷하다고 생각하는데, 역사가 유용하다고 내 주인이 너무 멀리 앞서 있다는 것입니다. (지점 지점으로 이동하는 데 너무 오래 걸립니다.)

시행 착오를 거친 후, 이것은 내가 원한 것을 대략 줬다.

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