programing

병합 커밋이 없는 Git 로그 보기

megabox 2023. 8. 17. 21:05
반응형

병합 커밋이 없는 Git 로그 보기

특정 사용자가 커밋한 내용을 보려고 하고 출력에서 사용자가 병합한 내용을 제거하려고 합니다.어떻게 해야 하나요?

다음을 사용하여 사용자의 커밋을 확인할 수 있습니다.git log --author=<name>그러나 출력에서 병합 커밋을 제거할 수 없습니다.

PS: 병합 충돌은 해당 repo의 워크플로우에서 발생하지 않으며, 모든 분기가 마스터로 병합되기 전에 재배치되므로 출력에서 병합 커밋을 제거하는 것이 안전하며, 마찬가지로 두 개의 피쳐 분기가 서로 병합되지 않을 가능성이 있습니다.

사용하다

git log --author=<name> --no-merges

추가적으로--first-parent다음과 같은 유용한 결과를 얻을 수 있습니다.

--first-parent

병합 커밋을 볼 때 첫 번째 부모 커밋만 따릅니다.주제 분기로 병합하는 것은 때때로 업데이트된 업스트림에만 조정하는 경향이 있기 때문에 이 옵션을 사용하면 특정 주제 분기의 진화를 볼 때 더 나은 개요를 제공할 수 있으며, 이 옵션을 사용하면 이러한 병합으로 인해 기록에 가져온 개별 커밋을 무시할 수 있습니다.--bisect와 결합할 수 없습니다.

다음과의 병합을 생략할 수 있습니다.--no-merges:

git log --no-merges --author=<name>

자세한 내용은 git log man 페이지를 참조하십시오.

OP의 질문에 답했습니다.나는 잠복자들을 위한 답을 자세히 설명했습니다.이 긴 로그 호출은 커미터와 병합으로 필터링된 보기를 제공합니다.원하는 경우 깃 별칭을 사용하여 이를 길들입니다.

저는 그것이 누군가에게 이익이 되고 반대표로 너무 심하게 취급되지 않기를 바랍니다.

git log --no-merges --max-count=15 --pretty="format:%C(dim green) %<(9,trunc)%ar %C(bold magenta)%h %C(bold green)%<(12,trunc)%an %C(bold
yellow)%<(113,trunc)%s" --committer="<name>"

예:

언급URL : https://stackoverflow.com/questions/35945860/view-git-log-without-merge-commits

반응형