로컬에서 작업하기 위해 remote repository를 복제해 내 PC에 local repository로 저장하는 것
변경된 파일 중 Repository에 올릴 파일들을 등록한다.
working directory에서 staging area로 올림
Add로 등록된 파일들을 한 덩어리로 만들고 메시지 추가해 로컬 저장소에 올린다.
staging area에서 local repository에 반영됨.
Commit되어 로컬 저장소에서 변경이 된 파일들을 원격 저장소로 전달한다.
local repository에서 remote repository로 전달됨.
push 완료 후 없던 origin(원격 저장소를 의미)이 생김
원격 저장소의 변경 사항을 로컬 저장소로 가져옴과 동시에 내 작업 소스에 합친다.
원격 저장소에서 내 로컬 저장소로 가져오는 것 = Fetch
그 로컬 저장소에서 내 작업 폴더로 가져오는 것 = Merge
Pull = Fetch + Merge
Pull 하는 상황은 언제 발생할까?
나무가지를 의미. 기존에 만들어 놓은 버전(main)에서 복사해 새로운 가지를 만들어 다른 방향으로 작업을 이어 나가는 것을 말한다.
분업을 위해 사용.
브랜치 이름 작성 후 생성. 새 브랜치 체크아웃 박스 클릭하기.
각각의 브랜치에서 작업이 완료된 후 통합 브랜치(main)로 모아 합치는 작업
메인 브랜치의 소스와 다른 브랜치의 소스 중 하나를 선택하도록 함.
** 다른 작업자가 작업한 브랜치를 머지할 땐 해당 작업자와 충분히 논의할 것.
다른 사람의 원격 저장소에서 어떤 부분을 수정하거나 추가 기능을 넣고 싶을 때 해당 원격 저장소를 내 원격 저장소에 그대로 복제하는 것, 전문용어로 “포크뜬다”라고 한다.
사용법
다른 사람에게 내 브랜치를 merge 해달라고 하는 요청.
어떤 부분을 어떻게 수정했는가, 피드백을 요청하는 부분은 정확히 어떤 파일의 어느 부분인지 기입할 것.
사례: 한 원격 저장소에서 내 브랜치를 merge 하기 전 피드백을 요청
사례2: Fork 뜬 저장소에서 원본 저장소에 개발 완료 후 원본 저장소에 Merge를 요청