팀 개발을 위한 Git, GitHub 시작하기(정호영, 진유림 지음)으로 공부한 내용을 정리한 글입니다.
push
하는 것은 그 저장소를 만든 사람만 할 수 있음push
하기 위해선 저장소 소유자가 그 사람을 협력자로 등록해야 함fork
로 다른 원격저장소에 복사하고 추가로 코드를 작성한 뒤, pull request
를 통해 원본저장소에 반영하는 방식을 사용fork
시 branch
를 포함한 원본 저장소의 모든 커밋을 복사함 branch
를 통해 코드 분기점을 만들고 pull request
를 통해 병합하는 과정과 유사하지만 fork
한 원격저장소는 branch
와는 달리 원본 저장소로부터 독립되어 동작함fork
한 원격저장소는 clone
으로 로컬저장소에 내려받은 뒤 작업을 함fork
한 원격저장소의 한 branch
를 원본저장소의 한 branch
에 병합하는 작업pull reqeust
를 보내기 전에 Contribution Guideline
이 있는지 확인하는 것이 좋음pull request
가 받아들여지면 fork
한 사용자가 원본저장소에 Contributor
로 등록됨fork
한 원격저장소는 fork
한 시점의 원본저장소 커밋 이력을 복사함fork
한 원격저장소는 해당 커밋에 대해 알지 못 함pull request
를 한다면 Conflict
이 발생할 수 있음Conflict
을 해결한 커밋이 추가로 생성됨 fork
한 원격저장소를 내려받은 로컬저장소는 fork
한 원격저장소를 origin
이라는 이름을 붙이고 추적함 $ git add remote upstream [원본저장소 주소]
: 원본저장소는 관용적으로 upstream
이라는 이름을 붙임pull
과는 달리 커밋 이력만 가져옴base commit
을 바꾸는 기능base
를 0번 커밋에서 4번 커밋으로 바꾸는 과정branch
에서 rebase
해야 함 rebase
한 커밋 이력을 원격저장소에 반영할 경우 force push
로 강제 푸쉬해야 함