들어가기 전에
지난 시간에는 git pull에 대해 배울 수 있었습니다. 사실 git pull은 두가지 작업이 동시에 진행됩니다. 바로 git fetch와 git merge라는 작업인데요. 이번 시간에는 git pull 작업을 git fetch와 git merge로 나눠서 진행해보겠습니다!
학습 목표
git pull 작업이 git fetch와 git merge 둘 로 각각 나눠지며 두 작업의 역할에 대해 이해하고 적용할 수 있다.
핵심 단어
강의 듣기
fetch & merge
git pull에서 했던 얘기를 다시 해볼게요. 우리가 로컬 환경에서 작업하던중 원격저장소의 내용을 팀원이 수정했습니다. 이때 우리가 개발한 내용을 원격저장소에 push를 할려고 하면 거절됩니다. 그 이유는 원격저장소에는 팀원의 수정사항이 반영이 되어 있고, 이때 우리의 push를 받는 다면 팀원의 수정사항이 overwrite이 되는 상황이기 때문이죠. 이럴 땐 어떻게 해야할까요? 앞서 배운 것 처럼 pull을 통해 해결 할 수 있지만 fetch와 merge라는 과정으로 나눠서 진행할 수 있습니다.
fetch는 원격저장소에 있는 내용을 로컬 저장소로 가져옵니다. 이를 통해 로컬 저장소와 원격 저장소와의 차이를 비교할 수 있습니다. 이를 통해 충돌되는 상황은 발생하지 않는 지, 충돌한다면 이를 어떻게 해결하면 좋을지를 확인 한 후 merge를 통해 두 브랜치를 병합합니다. 브랜치와 merge의 경우, 이후 강의를 통해 조금 더 배워보실 수 있습니다.
comment
제가 잘 못 이해한 걸수도 있지만... 만약 right 4, left 4 처럼 서로 다른 파일의 경우는 이해가 되는데요,
만약 같은 파일에서(예를 들어 왼쪽의 로컬에서 right4 라는 파일에 4를 추가하고, 오른쪽의 로컬에 right4 라는 파일에 는 5를 추가한다면, 어떻게 되어지나요??
clone repository - 서버에 잇는 레포지토리 땡겨오기
ctrl+shift+p : pallette > 모든 명령어 여기서 작성 및 실행가능
source control 탭에서 commit 버튼 위에 입력창에 작업명 입력 (= add work 에 작업내용 작성)
ctrl+Enter 혹은 ctrl+shift+p > g c (git commit)만 해도 커밋가능 푸시나 풀도 마찬가지
로컬저장소 vs 원격저장소 > 로컬 내 컴퓨터 / 원격 = 깃헙닷컴
push & pull > 내꺼 버전 원격서버에 업로드하기 & 남의 작업 버전 내 컴 버전이랑 합치기
작업 전 풀, 작업, 작업 후 푸시 습관화 하기!
pull = fetch + merge
git pull = git fetch && git merge
sync 버튼은 어디에 있는건지?