팀 개발을 위한 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로 강제 푸쉬해야 함