답변:
가지가 어떻게 다른지에 대한 시각적으로 좋은 결과를 얻을 수 있습니다.
git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative master..branch-X
git log --oneline --graph --all --decorate --abbrev-commit
짧고 읽기 쉬운 명령으로 비슷한 결과를 얻을 수 있습니다
git log --all --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset'
git log --oneline --graph --all --decorate
충분하다, --abbrev-commit
필요하지 않다, --oneline
짧다--pretty=oneline --abbrev-commit
당신은 쉽게 그것을 할 수 있습니다
git log master..branch-X
그러면 브랜치 X가 가지고 있지만 커밋하지 않는 커밋이 표시됩니다.
branch-X
사용할 수 있습니다git log master..
git log master...branch-X
(2 대신 3 개의 점)을 사용할 수 있습니다 . 자세한 내용 man gitrevisions
은 참조하십시오 .
나는 그것이 선택과 맥락의 문제라고 생각합니다.
git log origin/master..origin/develop --oneline --no-merges
마스터 브랜치에 있지 않은 개발시 커밋을 표시합니다.
실제로 수정 된 파일을 보려면
git diff --stat origin/master..origin/develop --no-merges
인수를 지정하지 않으면 전체 diff가 표시됩니다. 시각적 차이를 보려면 meld
Linux 또는 WinMerge
Windows에 설치하십시오 . 그것들이 기본 difftools인지 확인하십시오.
git difftool -y origin/master..origin/develop --no-merges
현재 분기와 비교하려는 경우. 분기 이름 대신 HEAD를 사용하는 것이 더 편리합니다.
git fetch
git log origin/master..HEAD --oneline --no-merges
병합하려는 모든 커밋을 보여줍니다.
--no-merges
.git log origin/master..HEAD --oneline --no-merges
커밋 메시지를 기준으로 비교하려면 다음을 수행하십시오.
git fetch
git log --oneline origin/master | cut -d' ' -f2- > master_log
git log --oneline origin/branch-X | cut -d' ' -f2- > branchx_log
diff <(sort master_log) <(sort branchx_log)
--oneline
및 배관 대신 cut
사용할 수 있습니다git log --format='%s'
나는 답변 중 일부를 사용하고 내 사례에 맞는 것을 찾았습니다 (모든 작업이 릴리스 지점에 있는지 확인하십시오).
다른 방법도 잘 작동하지만 값을 추가하지 않는 병합 커밋과 같이 필요하지 않은 행을 추가 할 수 있음을 발견했습니다.
git fetch
git log origin/master..origin/release-1.1 --oneline --no-merges
또는 현재와 마스터를 비교할 수 있습니다
git fetch
git log origin/master..HEAD --oneline --no-merges
git fetch
업데이트 된 정보를 사용하고 있는지 확인하십시오.
이러한 방식으로 각 커밋이 한 줄에있게되고이를 텍스트 편집기에 복사 / 붙여 넣기하고 병합 할 커밋과 작업을 비교할 수 있습니다.