Git 명령어 정리 하기 3 (상대 참조)

코딩아재·2021년 11월 17일
0

Git 명령어 정리

목록 보기
3/13
post-thumbnail

안녕하세요!
Git 명령어 정리하기 3번째 시간입니다.
오늘은 상대 참조에 대해서 알아보려고 합니다.
그럼 시작 하겠습니다.

출처: learngitbranching


상대 참조

Git에서 이동할 때 커밋의 해시를 사용하는 방법이 있습니다.
해시의 예를 들면fed2da64c0efc5293610bdd892f82a58e8cbc5d8입니다.
하지만 다 입력 할 필요 없이 fed2만 입력해도 되는 겁니다.

그러나 Git의 상대 참조(Relative Ref)를 사용하면 우리가 기억할 만한 지점(브랜치 bugFix라던가 HEAD라던가)에서 출발해서 이동하여 다른 지점에 도달해 훨씬 쉽게 작업을 할 수 있습니다.

상대 커밋은 두가지 방법이 있습니다.

- 한번에 한 커밋 위로 움직이는 ^
- 한번에 여러 커밋 위로 올라가는 ~<num>

이번 시간에는 캐럿(^)에 대해서 알아 보겠습니다.

캐럿(^)

먼저 캐럿 (^) 연산자 부터 알아보겠습니다.
참조 이름에 하나씩 추가할 때마다, 명시한 커밋의 부모를 찾게 됩니다.

main^는 "main의 부모"(C1)와 같은 의미 입니다.

main^^ 는 "main의 조부모(부모의 부모)"(C0)를 의미합니다


실습

main 위에 있는 부모를 체크아웃 해 봅시다.

명령어 입력

git checkout main^


보시다시피 HEAD가 C1을 가리키고 있습니다.


또한 참조인 HEAD도 상대참조를 위해 사용할 수 있습니다. 커밋트리 위쪽으로 움직이기위해 여러번 사용 해 봅시다.

명령어 실행

git checkout C3;
git checkout HEAD^;
git checkout HEAD^;
git checkout HEAD^;


결과

차례대로 C3 -> C2 -> C1 -> C0 이렇게 HEAD가 움직여서 최종적으로 C0에 있는 것을 볼 수 있습니다.

profile
코딩하는 아재입니다.

0개의 댓글

관련 채용 정보