heads

박태영·2024년 6월 12일
0

git

목록 보기
14/44
  • 현재 속한 브랜치의 가장 최신 커밋(브랜치의 가장 끝 부분)
  • switch 명령어로 branch를 옮기면 각 branch의 head에 위치하게 된다

checkout

  • reset/revert 와 다르게 과거의 어떤 commit으로 이동만 하는 명령어
  • git checkout HEAD [~<m>...][^<n>...]
  • ℹ️ ^~의 차이
    1. 여러번 사용하는 형태의 경우는 동일한 의미를 가진다
    • git checkout HEAD~~~ == git checkout HEAD^^^ = 부모의부모의부모커밋
    1. 뒤에 숫자를 붙이게 되면 의미가 달라진다.
    • git checkout HEAD~2: 부모의 부모 커밋
    • git checkout HEAD^2: 병합된 커밋에서 부모중 두번째 부모를 가리킨다.

실습

  • 저장소 구조
  1. delta branch로 이동 후 git checkout HEAD~~ 명령어를 이용해서 부모의 부모 커밋으로 이동
  2. HEAD 가 2개 커밋 전으로 이동한 모습 확인
  • ℹ️ git checkout -를 입력하면 cmd+z와 같이 이전 checkout 했던 커밋으로 이동한다.
  • git checkout HEAD 명령어를 이용하면 해당 브랜치에서 갈라진 임시 브랜치를 만들어서 이동하게 된다.
  1. 다시 원래 있던 head의 자리로 돌아가기 위해서는
    git switch를 이용하면 된다.

git checkout 활용

  • 과거의 특정 커밋에서 새로운 브랜치를 만드는 경우
  1. 과거의 특정 브랜치로 이동
  2. git switch -c gamma-branch를 입력해 새로운 branch 생성
  3. 파일을 수정하고 commit
    • beta 1st commit 에서 새로운 gamma-branch가 생성된 것을 알 수 있다.

git reset 과 head의 활용

  • 커밋의 해쉬값 뿐만 아니라 HEAD를 기준으로 사용해서 reset을 진행할 수 도 있다.
  • delta-branch에서 git reset --hard HEAD^^입력하기
profile
어른 아이

0개의 댓글

관련 채용 정보