티스토리 뷰
틸드(~) 연산자
만약 캐럿(^) 연산자를 사용해서 main 브랜치의 5단계 위의 부모를 참조하고 싶다면 main^^^^^ 이렇게 해야 한다. 만약 5개라면 괜찮지만 100개라면? 500개라면? 하나씩 ^을 붙여주기엔 너무 힘들다.
이럴 경우에 틸드(~) 연산자를 사용할 수 있는데, 틸드(~) 연산자는 올라가고 싶은 부모의 개수를 뒤에 붙여주면 된다.
또한 git은 branch 명령어에 -f 옵션을 이용해서 HEAD 뿐만이 아니라 브랜치도 특정 커밋으로 옮길 수 있다. 이때 상대 참조를 사용할 수 있으므로 틸드(~) 연산자를 사용해 보자.
브랜치의 위치를 특정 커밋으로 옮기기
$git branch -f main HEAD~3
위의 명령어를 사용하면 main 브랜치의 위치를 HEAD의 3개 부모 전인 커밋 위(HEAD는 현재 bugFix위에 있으므로 C4이다. 따라서 3개 부모 전은 C1이다)로 옮긴다.
목표
HEAD, main, bugFix를 특정 위치로 옮기기(최소 한 번은 직접 참조(커밋 해시를 사용)를 한다)
$git checkout main~2
$git branch -f bugFix HEAD^
$git branch -f main C6
'Git' 카테고리의 다른 글
[코드 이리저리 옮기기] 1: Cherry-pick 소개 (0) | 2023.11.04 |
---|---|
[다음 단계로] 4: Git에서 작업 되돌리기 (1) | 2023.11.03 |
[다음 단계로] 2: 상대 참조 (^) (Relative Refs) (1) | 2023.10.28 |
[다음 단계로] 1: HEAD 분리하기 (0) | 2023.10.28 |
[git 기본] 4: 리베이스(rebase)의 기본 (1) | 2023.10.20 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크