Notice
Recent Posts
Recent Comments
반응형
오늘도 공부
시리즈 5편 – Git에서 자주 보는 기호와 패턴 본문
반응형
📝 개발자 필수 기호 시리즈 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만 쓰기엔 너무 아까운 강력한 도구입니다.
이번에 소개한 기호들을 알면, 복잡한 브랜치/커밋 탐색도 훨씬 쉽게 할 수 있습니다.
반응형
'개발상식' 카테고리의 다른 글
시리즈 4편 – 리눅스 터미널에서 자주 쓰이는 기호들 (0) | 2025.08.19 |
---|---|
시리즈 3편 – 정규표현식(RegExp)의 핵심 기호들 (1) | 2025.08.19 |
시리즈 2편 – 코드 작성에서 자주 만나는 기호들 (1) | 2025.08.19 |
시리즈 1편 - 개발자 필수 기호 시리즈 1편 (1) | 2025.08.19 |