Ref 커밋을 참조하는 ref에 대해 알아보자. Hash 커밋을 참조하는 가장 직접적인 방식으로, SHA-1 해시를 통해 참조할 수 있다. 이는 각 커밋의 고유한 id이며, git log 명령을 통해 각 커밋의 해시를 확인할 수 있다. Refs 커밋을 참조하는 간접적인 방식이다. 커밋 해시에 붙이는 alias 같은 것이라고 생각하면 된다. .git 폴더에 보면 refs라는 폴더가 있다. 그 안에 보면 heads, remotes, tags 등 또 하위 폴더가 존재한다. heads는 레포의 로컬에 있는 모든 브랜치를 정의하고 있는 폴더이다. heads의 내부를 보면 로컬에 있는 브랜치들이 폴더로 존재하고, 그 안에는 해당 브랜치의 가장 끝에 있는 커밋 해시를 저장하고 있다. cat .git/refs/head..
detached HEAD 브랜치가 아닌 커밋에 체크아웃했을 때 'detached HEAD' 상태에 있다고 한다. 예를 들어 git checkout 이렇게 브랜치로 체크아웃하는 것이 아닌 git checkout 이렇게 특정 커밋으로 체크아웃할 수 있다. git checkout git checkout HEAD~3 // 현재 헤드에서 3번째 전 커밋 HEAD는 해당 브랜치의 가장 최신 버전을 가리키는데, 커밋으로 체크아웃한 상태인 detached HEAD(분리된 HEAD)는 레포의 HEAD를 보고 있지 않다는 뜻이다. detached HEAD 상태에서는 안전하게 해당 커밋에 여러가지 변경을 가할 수 있다. 이 변경을 저장할 수도 있고, 버릴 수도 있는데, 저장하기 위해서는 새로운 브랜치를 만들어야 한다. gi..
깃 개념 이해하기 - 2 커맨드 라인이 아닌 깃의 개념 위주 정리입니다 Merging test 브랜치에서 new.txt파일을 수정한 뒤 이를 마스터 브랜치에 반영하고자 한다. ** Fast-Forward merging ** git checkout master git merge test 머지를 하려면 머지하고자 하는 곳으로 스위치 한 다음(마스터 브랜치의 경우 git checkout master) 머지를 해야 한다. (git merge test) new.txt의 수정에 대해 다른 컨플릭트가 없고 마스터 브랜치에서 수정된 사항이 없을 때에는 디폴트로 fast-forward merge가 가능하다. fast-forward merge는 선형적으로 머지하는 것인데, 구글링으로 이해한 바에 따르면 test 브랜치를 ..
- Total
- Today
- Yesterday
- CSS
- c언어
- 인스턴스
- rxjs
- oracle
- SQL
- Prefix Sums
- 개발 공부
- 리덕스
- package.json
- 깃
- 알고리즘
- GIT
- 제네릭스
- Conflict
- useEffect
- react
- til
- Session
- getter
- Data Structure
- JavaScript
- Redux
- jQuery
- youtube data api
- Java
- 자바
- 포인터 변수
- linkedlist
- this
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |