티스토리 뷰
git pull = git fetch + git merge FETCH_HEAD
git fetch를 통해 원격저장소만 가져오고
git merge origin/master를 하는 것과 같다.
fetch의 장점: 조금 더 신중하게 merge를 해야할 경우,
원격저장소에서 브랜치의 내용만 가져와서 merge할 수있다.
왼쪽: 사용자a
오른쪽: 사용자b
1. 사용자a: work.txt에 3a를 추가 작성
2. 사용자a: log를 확인
▷HEAD가 지역저장소의 master브랜치, 원격저장소의 origin/master브랜치를 가리킨다.
☞ 녹색의 master는 지역저장소의 브랜치, 빨간색 origin/master는 원격저장소의 브랜치
2. 사용자a: "work 3a"로 commit 후 log 확인
▷ HEAD가 지역저장소의 master브랜치 내용의 "work 3"만 가리킨다.
☞ 원격저장소의 origin/master브랜치가 1개의 commit만큼 뒤쳐져 있다.
4. 사용자a: push하고 log확인
▷ HEAD가 지역저장소의 master브랜치, 원격저장소의 origin/master브랜치에 "work 3"을 가리킨다.
git fetch: git 원격저장소의 브랜치만 가져오는 방법
5. 사용자b: fetch를 통해 원격저장소의 브랜치만 가져오고, log를 확인
▷ HEAD가 여전히 지역저장소의 master브랜치를 가리킨다.
☞ 원격저장소에서 "work 3"를 가지고만 왔다.
git merge FETCH_HEAD: 가장 최신의 내용을 병합 시켜준다.
※ .git/FETCH_HEAD 에 가장최신의 내용이 적혀있다.
6. 사용자b: git을 최신의 페치내용과 병합 후 log 확인 - (git merge FETCH_HEAD = git merge origin/master)
☞ HEAD가 지역저장소의 master 브랜치와 원격저장소의 origin/master브랜치의 "work 3a"를 가리킨다.
출처: https://opentutorials.org/course/3842/23969
'Git' 카테고리의 다른 글
GIT4 - CLI 협업 6. 수업을 마치며 Gerrit /github, gitlab (0) | 2021.05.28 |
---|---|
GIT4 - CLI 협업 4. push & pull (0) | 2021.05.27 |
GIT4 - CLI 협업 3. 같이 작업하기 (0) | 2021.05.27 |
GIT4 - CLI 협업 1. 수업소개 2. 혼자 작업하기 (0) | 2021.05.27 |
GIT3 - CLI 백업 - 11. 수업을 마치며 SSH / git hosting / 협업 (0) | 2021.05.27 |