챕터 안내
Ch04. 둘 이상의 원격저장소로 협업하기
- 원본저장소를 복사해서 너구리의 원격저장소를 만든다(fork)
- 원본저장소에 풀 리퀘스트 보내기
- 묵은 커밋을 새 커밋으로 이력 조작하기(rebase)
개념 정리
upstream 원본저장소를 지칭하는 관용적 닉네임
평행세계를 만드는 브랜치, 평행우주를 만드는 포크
- 기본적으로 원격저장소에 커밋을 직접 푸시할 수 있는 사람은 소유자뿐이다. 다른 사람이 푸시 하려면 협력자로 등록해야한다.
- 원격저장소의 소유자는 많은 개발자들에게 의견을 받고 오픈소스를 개선하고싶은 니즈가 있다. 개발자는 오픈소스에 참여하고 기여하고 싶어한다. 하지만 원본저장소에 직접 푸시하는것에 대한 부담이 있다.
- 이럴때 대안이 될 수 있는 방법이 풀 리퀘스트 Pull Request 이다. 원본저장소를 자신의 계정에 복사fork해서 원격저장소를 생성하고, 이곳에 커밋을 올린 후 원격저장소의 소유자에게 병합 요청하면 원격저장소의 소유자는 개발자 병합 요청을 검토해서 원격저장소에 반영한다.
- 브랜치는 원격저장소 내에서 평행세계를 만드는것이라면 포크는 평행 우주를 만드는것과 같다.
묵은 커밋을 새 커밋으로 이력 조작하기 rebase
- ㅁ포크한 원격저장소에서 원본저장소로 풀리퀘스트 보내기
- 오류메세지 Can’t automatically merge 코드가 충돌이 났어요!
여러 원격저장소 히스토리를 한눈에 보기 : 리모트 추가 (Add remote)
- 소스트리가 원본저장소와 원격저장소를 동시에 추적하도록 만들기
- 원격저장소 추가 - 원격이름(upstream)과 원본저장소주소 입력 후 추가.
머지 전략 3가지 (팀원님 발표)
- create merge commit : 일반적으로 알고 있는 머지 방법. 그래프로 확인하기가 쉽다. 단점으로는 단순 커밋이력들이 많은경우 보기가 오히려 불편해짐
- squash and merge : 커밋덩어리들을 한개로 뭉쳐서 머지하는것. 그래프를 보기는 좋다. 단점으로는 브랜치를 삭제하면 상세한 로그는 남지 않아서 일반 머지보다 정보를 정확히 알기 어렵다.
- rebase and merge : 브랜치에 여러개의 커밋을 머지해도 마스터 그래프에서 여러개를 커밋한것처럼 볼 수 있다. 단점으로는 브랜치를 삭제해버리면 어느 브랜치에서 머지가 되었는지 확인할 수 없다.
반응형
'Tool' 카테고리의 다른 글
[Git]04 - amend / cherry-pick / reset / revert / stash (0) | 2022.11.01 |
---|---|
[Git]02 - 협업 / Branch / HEAD / Conflict / Pull Request (0) | 2022.06.28 |
[Git]01 - 기본개념 / 시작하기 / 커밋 / 원격저장소 (0) | 2022.06.02 |
git 프로젝트 복제 / clone (0) | 2021.10.17 |
Netlify 배포 (+babel-loader, webpack mode 에러 등) (0) | 2021.10.17 |