들어가기전
우리는 앞에서 switch 명령어를 통해 HEAD를 원하는 커밋 ID로 이동하는 연습을 해봤다.
이번에는 조금 더 축약된 방법으로 HEAD를 옮겨보고
커밋과 관련된 다른 명령어도 알아보자.
^ 상대참조
^연산은 주워진 위치로부터 이전 커밋으로 가는 연산이다
위 그림은 다음과 같은 흐름으로 진행됐다.
git switch HEAD^
git switch C2^
첫 그림에서 한칸위로 올라갔고 , 그 다음은 C2에서 한칸위로 올라갔다.
~ n 상대참조
~n 상대참조는 주워진 위치부터 n 만큼 이전 커밋으로 가는 연산이다.
git switch HEAD~1 # 한칸 위로
git branch -f main C6 # main을 C6으로
git branch -f bugfix C1~1 # C1 한칸위로
cherry-pick
주변에 딸기 케이크를 먹을 때 딸기만 골라먹는 사람들이 있지 않나??
미국은 그게 체리인 듯하다. 맛있는 부분만 쏙쏙 골라먹는 걸 의미하는 단어 같다.
git에서 cherrypick은 원하는 커밋만 복사해서 가져오는 기능
git cherry-pick C3 C4 C7
현재 main에 HEAD가 있는데 bugfix 브랜치의 C3 , side 브랜치의 C4 , another C7를 HEAD가 있는 main에
복사본을 가져왔다.
rebase -i
여러 커밋을 순서대로 조작하기 위해 커밋 목록을 편집할 수 있는 동작이다.