범위가 있는 Git 로그를 사용하여 한 분기에 대한 커밋 기록 표시

Ankit Raj Goyal 2023년1월30일
  1. git log 및 고급 제한 옵션을 사용하여 분기에 대한 Git 커밋 기록
  2. 이중 점 구문 <branch1>..<branch2>을 사용하여 분기에 대한 Git 커밋 기록
  3. git log를 사용하여 분기에 대한 Git 커밋 기록을 표시하기 위해 몇 자 더 적게 입력하는 유용한 바로 가기
  4. 현재 분기에만 커밋을 표시하기 위해 log를 사용하여 마지막 몇 가지 커밋만 볼 수 있는 유용한 옵션
  5. 캐럿 연산자 ^를 사용하여 분기에 대한 Git 커밋 기록
  6. --not 옵션을 사용하여 분기에 대한 Git 커밋 기록
  7. 자원
범위가 있는 Git 로그를 사용하여 한 분기에 대한 커밋 기록 표시

git log에는 저장소 기록에서 커밋 하위 집합을 얻기 위한 많은 제한 옵션이 있습니다. 이중 점 구문, 캐럿 연산자 ^, --not 옵션 및 여러 바로 가기를 사용하여 range가 포함된 git log가 분기에 대해서만 git commit 기록을 보는 데 어떻게 도움이 되는지 보여줍니다.

Git은 사용자가 분기를 관리하고 분기와 함께 효율적인 워크플로를 고안할 수 있도록 하는 이 풍부한 개정 쿼리 ​​시스템에서 힘을 얻습니다.

git log 및 고급 제한 옵션을 사용하여 분기에 대한 Git 커밋 기록

Git 리포지토리는 커밋 기록이 길면 커질 수 있습니다. 이러한 경우 전체 기록을 보는 것은 그다지 도움이 되지 않습니다.

git log 명령은 필요한 저장소 기록에서 커밋의 하위 집합만 추출할 수 있는 많은 유용한 옵션을 제공합니다.

git log [formatting options] [limiting options]

[formatting options]은 커밋에 대한 다양한 정보를 표시하고 [limiting options]은 보고 싶은 커밋을 선택하는 데 도움이 됩니다.

이러한 limiting options에 올바른 범위 값을 제공하면 현재 분기에서 git show 커밋을 수행할 수 있습니다.

이중 점 구문 <branch1>..<branch2>을 사용하여 분기에 대한 Git 커밋 기록

이중 점 구문은 branch2에서 도달할 수 있지만 branch1에서는 도달할 수 없는 커밋을 보여줍니다.

master에서 새로운 experiment_branch를 생성한다고 가정합니다. 그런 다음 이 두 가지를 모두 커밋하지만 아직 병합하지 않습니다.

이제 experiment_branch에서 맨손으로 git log를 수행하면 experiment_branch를 만들기 전에도 master에 대한 커밋을 포함하여 전체 기록이 표시됩니다.

실험 전에 마스터에 커밋

이것은 별로 도움이 되지 않는 행동입니다. 일반적인 사용 사례 중 하나는 experiment_branch에서 병합되지 않은 커밋만 보고 싶은 경우입니다.

우리는 다음 명령으로 그렇게 합니다.

git log master..experiment_branch

모든 커밋은 experiment_branch에서 접근할 수 있지만 master에서는 접근할 수 없습니다(기본적으로 실험 브랜치에서 병합되지 않은 모든 커밋).

분기 doubledot 구문에 대한 git 커밋 기록

우리는 또한 experiment_branch를 병합할 master의 상태를 보기 위해 반대의 경우 분기 순서를 뒤집을 수 있습니다.

마스터는 다음과 같습니다.

실험 후 새 커밋 마스터

우리가 할 때:

git log experiment_branch..master

실험 분기를 만든 후 master에 대한 새 커밋만 표시됩니다.

새 커밋 - 마스터 분기 이중 점

git log를 사용하여 분기에 대한 Git 커밋 기록을 표시하기 위해 몇 자 더 적게 입력하는 유용한 바로 가기

이중 점 구문에서 두 분기 중 하나를 제공하지 않으면 Git은 기본값을 HEAD로 설정합니다.

우리는 이것을 git checkout의 현명한 선택과 함께 사용하여 git log 명령을 단축할 수 있습니다.

먼저 실험 분기로 전환합니다.

git checkout experiment_branch

이제 HEADexperiment_branch를 가리킵니다.

이제 오른쪽 분기 피연산자를 생략하고 이중 점 범위 구문의 짧은 형식 버전을 사용합니다.

git log master..

Git은 오른쪽 분기를 현재 HEADexperiment_branch로 기본 설정하고 위와 같이 병합되지 않은 커밋에 대해서만 동일한 기록을 얻습니다.

git 짧은 형식 이중 점

현재 분기에만 커밋을 표시하기 위해 log를 사용하여 마지막 몇 가지 커밋만 볼 수 있는 유용한 옵션

experiment_branch는 병합되지 않은 커밋이 많은 오랜 역사를 가지고 있습니다.

많은 병합되지 않은 커밋의 오랜 역사를 실험하십시오

이러한 경우에는 마지막 몇 개의 커밋만 보고 싶을 수 있습니다.

git log -2 master..

-2 옵션은 선택한 기록 하위 집합에서 마지막 2개의 커밋만 표시합니다.

기록에서 마지막 몇 개의 커밋만 표시

캐럿 연산자 ^를 사용하여 분기에 대한 Git 커밋 기록

캐럿 연산자 ^는 작동하는 분기에서 도달할 수 있는 모든 커밋을 제외합니다. 이것을 사용하여 현재 분기의 기록만 표시할 수 있습니다.

git log ^master experiment_branch

분기 캐럿에 대한 커밋 기록 표시

--not 옵션을 사용하여 분기에 대한 Git 커밋 기록

브랜치 이름 앞에 --not 옵션을 사용하여 동일한 결과를 얻을 수도 있습니다. 이것은 해당 분기에서 도달할 수 있는 모든 커밋을 제외합니다.

git log experiment_branch --not master

동일한 작업을 수행하고 experiment_branch에 병합되지 않은 커밋만 표시됩니다.

옵션이 아닌 분기에 대한 커밋 기록 표시

자원

  1. https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History
  2. https://rakhesh.com/coding/git-view-the-commit-log-of-a-remote-branch/
  3. https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History
  4. https://stackoverflow.com/questions/14889017/how-to-show-local-branch-history#14889649
  5. https://stackoverflow.com/questions/16974204/how-to-get-commit-history-for-just-one-branch

관련 문장 - Git Commit