Skip to content

Git 그래프

Git 그래프는 Git 저장소의 히스토리를 시각화하여 커밋, 브랜치, 병합의 관계를 명확하게 보여줍니다.

문법

기본 요소

  • 커밋: commit id: "메시지"
  • 브랜치: branch [이름]
  • 체크아웃: checkout [브랜치]
  • 병합: merge [브랜치]
  • 체리픽: cherry-pick [id]

기본 예제

코드:
mermaid
gitGraph
    commit
    commit
    branch develop
    checkout develop
    commit
    commit
    checkout main
    merge develop
    commit
Ctrl + Enter|

고급 예제

기능 개발 워크플로우를 보여주는 더 복잡한 Git 그래프:

코드:
mermaid
gitGraph
    commit id: "초기 커밋"
    commit id: "README 추가"
    branch develop
    checkout develop
    commit id: "프로젝트 구조 설정"
    branch feature/login
    checkout feature/login
    commit id: "로그인 폼 추가"
    commit id: "인증 기능 추가"
    checkout develop
    merge feature/login
    branch feature/dashboard
    checkout feature/dashboard
    commit id: "대시보드 레이아웃 생성"
    commit id: "위젯 추가"
    checkout develop
    merge feature/dashboard
    checkout main
    merge develop tag: "v1.0.0"
Ctrl + Enter|

브랜치 관리

코드:
mermaid
gitGraph
    commit
    branch develop
    checkout develop
    commit
    branch feature
    checkout feature
    commit
    commit
    checkout develop
    merge feature
    checkout main
    merge develop
Ctrl + Enter|

릴리스 관리

코드:
mermaid
gitGraph
    commit
    branch develop
    checkout develop
    commit
    branch release/1.0
    checkout release/1.0
    commit id: "버전 업데이트"
    checkout main
    merge release/1.0 tag: "v1.0.0"
    checkout develop
    merge main
Ctrl + Enter|

추가 기능

태그와 릴리스

코드:
mermaid
gitGraph
    commit
    commit tag: "v0.1.0"
    branch develop
    commit
    commit
    checkout main
    merge develop tag: "v0.2.0"
Ctrl + Enter|

체리픽

코드:
mermaid
gitGraph
    commit id: "기능-A"
    branch feature
    checkout feature
    commit id: "기능-B"
    checkout main
    cherry-pick id: "기능-B"
Ctrl + Enter|

스타일 설정

Git 그래프는 자동으로:

  • 커밋 히스토리 표시
  • 브랜치 이름 표시
  • 병합 지점 표시
  • 태그와 릴리스 표시
  • 다른 브랜치에 다른 색상 사용

유용한 팁

  • 커밋 메시지를 명확하고 간결하게 유지
  • 의미 있는 브랜치 이름 사용
  • 중요한 태그와 릴리스 표시
  • 중요한 병합 포함
  • 브랜치 전략 보여주기
  • 그래프를 단순하게 유지
  • 일관된 브랜치 명명 규칙 사용
  • 필요한 경우 관련 커밋 ID 포함

일반적인 문제 해결

  1. 브랜치 문제

    • 과도한 브랜치 피하기
    • 불필요한 브랜치 적시에 병합 또는 삭제
    • 브랜치 구조를 명확하게 유지
  2. 가독성 문제

    • 간결한 커밋 메시지 사용
    • 중요 지점에 태그 적절히 사용
    • 복잡한 병합 관계 피하기
  3. 워크플로우 문제

    • 일관된 브랜치 전략 따르기
    • 명확한 병합 프로세스
    • 적절한 태그로 버전 관리

모범 사례

  • Git Flow 또는 유사한 워크플로우 따르기
  • 명확한 커밋 메시지 사용
  • 적절한 시점에 릴리스 태그 생성
  • 메인 브랜치 안정성 유지
  • 기능 브랜치 적시에 병합
  • 의미 있는 브랜치 이름 사용
  • 오래된 브랜치 정기적으로 정리

다음 단계