이준호

Add new file

Showing 1 changed file with 46 additions and 0 deletions
각각의 branch를 모으는 것 → merge
## Commit Chain
부모 - 자식간의 관계라고 할 수 있다.
![https://s3-us-west-2.amazonaws.com/secure.notion-static.com/c7fe3dae-6443-43a2-927d-d80fddcba886/_2020-09-25__9.47.59.png](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/c7fe3dae-6443-43a2-927d-d80fddcba886/_2020-09-25__9.47.59.png)
## Branching
**Master** 브랜치
- Default branch in Git
- 사용자가 사용하게 될 최종 버전(소프트웨어 안정 버전)
**HEAD**
- Special Pointer
- 현재 작업하는 working tree가 어떤 커밋에 적용되고 있는지 가르키는 **포인터**이다!
![https://s3-us-west-2.amazonaws.com/secure.notion-static.com/0cb528d9-a415-4d94-9738-a317d729c4ae/_2020-09-25__9.55.37.png](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/0cb528d9-a415-4d94-9738-a317d729c4ae/_2020-09-25__9.55.37.png)
- 내가 사용하고 있는 branch를 ***(asterisk)**로 표시해준다(**HEAD**)
- C0,C1 등은 Commit을 얘기함
![https://s3-us-west-2.amazonaws.com/secure.notion-static.com/a1a4d6ce-28cb-4ad4-84bf-14d3629ec1b3/_2020-09-25__9.59.51.png](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/a1a4d6ce-28cb-4ad4-84bf-14d3629ec1b3/_2020-09-25__9.59.51.png)
- checkout하여 **experiment** 브랜치에서 작업을 하다가 **master** 브랜치로 이동하고 커밋하면, C4는 C1을 가리키게 된다.
master브랜치에 merge?
![https://s3-us-west-2.amazonaws.com/secure.notion-static.com/3bce75ea-5d51-4d5a-a378-c6536854f043/_2020-09-25__10.03.19.png](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/3bce75ea-5d51-4d5a-a378-c6536854f043/_2020-09-25__10.03.19.png)
merge 결과를 담을 master만 experiment만 움직임, 그후 merge → C6생성(**merge도 하나의 커밋임!)**
**FastFowardMerge** : 이미 알고있는 내용을 머지하려고하면, 그냥 앞으로 땡김!
![https://s3-us-west-2.amazonaws.com/secure.notion-static.com/dd891da0-08ef-47ca-8d7b-42ab74fdca44/_2020-09-25__11.03.54.png](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/dd891da0-08ef-47ca-8d7b-42ab74fdca44/_2020-09-25__11.03.54.png)
- 다음과 같은 경우 그냥 C2로 이동한다.(새로 합쳐서 커밋을 생성할 필요 없이, master브랜치와 HEAD 포인터를 C2로 이동)
**conflict**
두개의 커밋이 같은 파일을 변경하는데, 코드의 같은 라인을 수정할 때 생김
git status를 입력 → 충돌 내역이 뜸, git add 한 후 conflict를 resolve 해야함
\ No newline at end of file