티스토리 뷰
1. HEAD
1.1 FETCH_HEAD
- git fetch 를 통해 원격 저장소에서 최신 커밋을 가져온 상태일 때,
- 원격 저장소의 최신 커밋을 가리키는 포인터
- 병합 시, 해당 포인터가 가르키는 곳까지 현 브랜치에 병합
1.2 HEAD
- 현재 작업 중인 로컬/원격 브랜치의 가장 최근 커밋을 가리키는 포인터
- remoto에서의 head
: 원격 저장소에서 기본 브랜치를 가리키는 포인터
: 원격 저장소의 origin의 기본 브랜치가 main 이라면, origin/HEAD -> origin/main - local에서의 head
: 현재 작업 중인 브랜치의 최신 커밋을 가리키는 포인터
- remoto에서의 head
1.3 ORIG_HEAD
- 현 head가 가리키는 커밋 바로 직전의 커밋을 가리키는 포인터
- 최신 커밋을 가리키는게 head라면 그 head 위치의 뒤로가기 역할
- 실수로 변경된 상태를 되돌릴 때 유용
- 최근에 수행된 reset, merge, rebase 등의 작업에 의해 head가 변경 되기 전의 커밋을 저장
git reset HEAD~1 를 사용하여 커밋 취소가 정석
but, git reset ORIG_HEAD 로 가능
1.4 MERGE_HEAD
- 병합(Merge) 작업 중, 충돌을 해결할 때 사용되는 포인터
- 병합할 두 커밋(FETCH_HEAD와 로컬 HEAD)을 합칠 때, 충돌 발생 시, 설정
- 병합을 시작하면 MERGE_HEAD는 병합할 대상 커밋을 가리키며, 충돌이 발생하면 MERGE_HEAD를 사용해 충돌 해결을 이어감
- 병합 완료 시 삭제
정리
FETCH_HEAD | 원격 저장소에서 git fetch로 가져온 최신 커밋 | 원격 저장소에서 최신 커밋을 가져온 후 병합 또는 리베이스 작업을 할 때 사용 |
HEAD | 현재 작업 중인 브랜치의 최신 커밋 | 현재 체크아웃된 브랜치의 가장 최근 커밋을 나타냄. git commit, git reset, git merge 등의 작업에서 항상 변경되는 포인터 |
ORIG_HEAD | HEAD가 변경되기 전의 커밋 | git reset, git merge, git rebase 등으로 커밋을 변경하기 전의 상태로 되돌리고 싶을 때 사용 |
MERGE_HEAD | 병합 중 충돌이 발생하면, 충돌 해결을 위한 대상 커밋 | git merge 중 충돌 발생 시 충돌 해결을 위한 작업에서 사용 병합 후에는 MERGE_HEAD는 X |
'정리용 > git' 카테고리의 다른 글
[git] branch 관리 - 2 : Statging Area 관리 (1) | 2024.12.26 |
---|---|
[git] 충돌(conflict) (0) | 2024.12.24 |
[git] remote repository 관리 - 1 (0) | 2024.12.24 |
[git] branch 관리 - 1 (0) | 2024.12.24 |
[git] git 시작하기 (0) | 2024.12.24 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- ssh
- useReducer
- asac7
- asac7#asac
- useMemo
- useCallback
- git
- acas#acas7기
- useState
- useContext
- useLayoutEffect
- memo
- ASAC
- Nginx
- asac7기
- useEffect
- asac#asac7기
- useRef
- react
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함