나는 이렇게 학습한다/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 → 짓누르다. 으깨다라는 뜻. (커밋을 하나로 으깨다 같은 느낌인 듯)
레퍼런스
반응형