나는 이렇게 학습한다/Etc

git 개념 정리

daco2020 2022. 2. 3. 20:26
반응형

HEAD

  • 현재 사용 중인 브랜치의 선두 부분을 나타내는 이름
  • 기본적으로는 'master'의 선두 부분
  • 'HEAD' 를 이동하면, 사용하는 브랜치가 변경됨

 

stash

  • 파일의 변경 내용을 일시적으로 기록해두는 영역
  • stash 를 사용하여 아직 커밋하지 않은 변경을 일시적으로 저장해 둘 수 있음
  • stash 에 저장된 변경 내용은 나중에 다시 불러와 원래의 브랜치나 다른 브랜치에 커밋할 수 있음

 

fetch

  • 원격 저장소의 데이터를 로컬에 가져오기만 하기
  • pull과 차이점은 pull은 원격저장소의 내용을 자동으로 병합
  • fetch는 원격 저장소의 최신 이력을 확인할 수 있음
  • 최신 커밋 이력은 이름 없는 브랜치로 로컬에 가져오게 되고 이 브랜치는 'FETCH_HEAD'의 이름으로 체크아웃 할 수 있음

 

--abort

  • rebase 하다가 취소하려면 --abort 옵션을 지정

 

ORIG_HEAD

  • rebase 전의 커밋은 'ORIG_HEAD'라는 이름으로 남아 있음
  • rebase 한 후 원래대로 되돌리고자 하는 경우에는 'git reset --hard ORIG_HEAD'을 실행
  • reset 한 후 원래대로 되돌리고자 할 경우에도 사용

 

git commit --amend

  • 같은 브랜치 상에서 이전에 커밋했던 내용을 수정할 수 있음

 

git revert [commit_id]

  • revert 명령어를 이용하면, 특정 커밋의 내용을 삭제할 수 있음

 

git reset --hard [commit_id]

  • 커밋을 버리고 특정 버전으로 다시 되돌아가고 싶을 때
  • 커밋만 되돌리고 싶을 때 (soft)
  • 변경한 인덱스의 상태를 원래대로 되돌리고 싶을 때 (mixed)
  • 최근의 커밋을 완전히 버리고 이전의 상태로 되돌리고 싶을 때 (hard)

 

git cherry-pick [commit_id]

  • 다른 브랜치에서 지정한 커밋을 복사하여 현재 브랜치로 가져올 수 있음
  • 충돌날 경우 해결 후 커밋

 

git merge --squash [브랜치명]

  • 해당 브랜치의 커밋을 하나로 통합하여 머지하는 방법
  • 충돌날 경우 해결 후 커밋
  • squash → 짓누르다. 으깨다라는 뜻. (커밋을 하나로 으깨다 같은 느낌인 듯)

 

 

 

 


 

 

레퍼런스

누구나 쉽게 이해할 수 있는 Git 에 입문

 

 

 

반응형