Recent Posts
Recent Comments
반응형
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Archives
Today
Total
관리 메뉴

오늘도 공부

시리즈 5편 – Git에서 자주 보는 기호와 패턴 본문

개발상식

시리즈 5편 – Git에서 자주 보는 기호와 패턴

행복한 수지아빠 2025. 8. 19. 11:51
반응형

📝 개발자 필수 기호 시리즈 5편

Git 특화 기호들: HEAD~1, ^, --, @{u}

Git을 조금만 써도 터미널에서 신기한 기호들을 자주 만나게 됩니다.
처음에는 "왜 굳이 이런 암호 같은 걸 쓰지?" 싶지만, 사실은 버전(커밋)을 편하게 다루기 위한 약속입니다.

이번 편에서는 Git에서 자주 쓰이는 기호들을 정리해 보겠습니다.


1. HEAD와 HEAD~1

HEAD

  • 의미: 현재 내가 작업 중인 커밋(포인터)
  • 예시:👉 현재 커밋 내용 보기
  • git show HEAD

HEAD~1

  • 의미: HEAD에서 한 단계 이전(부모) 커밋
  • 예시:👉 바로 직전 커밋 내용 보기
  • git show HEAD~1
  • HEAD~2, HEAD~3 처럼 계속 뒤로 갈 수 있습니다.

📌 기억하기: ~숫자 → “몇 단계 전 커밋”


2. ^ (캐럿) → 부모 커밋

Git에서도 캐럿은 중요한 역할을 합니다.

  • HEAD^ → HEAD의 첫 번째 부모
  • HEAD^2 → HEAD의 두 번째 부모 (merge 커밋에서만 유효)

예시:

git show HEAD^
git show HEAD^2

👉 merge 커밋일 경우, 각각 다른 부모 브랜치 커밋을 볼 수 있음

📌 차이점:

  • ~ → 직선으로 “몇 단계 이전”
  • ^ → 부모 관계 (특히 merge에 유용)

3. -- (더블 대시)

-- 는 Git에서 옵션과 브랜치/파일 이름을 구분할 때 사용합니다.

예시:

git checkout -- file.txt

👉 file.txt 파일을 현재 커밋 상태로 되돌림

git log -- --my-branch

👉 --my-branch 를 옵션이 아니라 브랜치 이름으로 인식시킴

📌 기억하기: -- 는 옵션/파일 구분자


4. @{u} (upstream)

  • 의미: 현재 브랜치의 upstream(원격 추적 브랜치)
  • 예시:👉 현재 브랜치가 트래킹 중인 원격 브랜치 확인
  • git rev-parse @{u}
git log HEAD..@{u}

👉 원격 브랜치에는 있는데 내 로컬 HEAD에는 없는 커밋 확인

📌 기억하기: @{u} = upstream


5. 기타 Git 기호들

  • @ → HEAD 의 축약형
  • git show @ # == git show HEAD
  • .. → 범위 지정
  • git log master..feature # master에는 없고 feature에만 있는 커밋 확인
  • ... (트리플 점) → 공통 조상 비교
  • git log master...feature # 두 브랜치가 갈라진 이후의 모든 커밋 비교

6. 요약 & 기억 팁

기호 의미 예시

HEAD~1 한 단계 전 커밋 git show HEAD~1
^ 부모 커밋 git show HEAD^2
-- 옵션/파일 구분자 git checkout -- file.txt
@{u} upstream 브랜치 git log HEAD..@{u}
@ HEAD 축약 git show @
.. 두 지점 사이 커밋 git log A..B
... 공통 조상 비교 git diff master...feature

✨ 마무리

Git은 단순히 commit, push만 쓰기엔 너무 아까운 강력한 도구입니다.
이번에 소개한 기호들을 알면, 복잡한 브랜치/커밋 탐색도 훨씬 쉽게 할 수 있습니다.

반응형