브랜치 = 포인터
→ 브랜치는 포인터이기 때문에 새로운 브랜치를 만들 때 SVN과 같이 프로젝트를 복사할 필요 없이 커밋을 가리키기만 하면 된다!
branch 연습하기 좋은 사이트
master branch에서 branch가 나눠진 이후, master branch의 상태가 변경되지 않았다면 master branch가 병합을 원하는 branch의 최신 커밋을 가리키게 함으로써 Fast-forward merge를 할 수 있다.
충돌이 없다면 바로 merge되고, 충돌이 있다면 Visual Studio Code를 활용하여 수동으로 충돌을 해결해주거나 P4 merge tool을 활용하면 된다.
Tip! 충돌 가능성이 있을 땐 작업하고 있는 branch에 먼저 merge를 해보고 이상이 없으면 master branch로 merge하는 것이 좋다.
협력자에게 브랜치 병합을 요청하는 메시지를 보내는 것
base : 병합된 commit이 올라갈 기준이 되는 branch
compare : 병합의 대상이 될, base branch에 반영시키고 싶은 branch
Tip 1 Pull Request 내용에는 기능 스크린샷이나 테스트 방법 등 동료 개발자가 코드를 이해하는 데 도움이 되는 설명을 적어주면 된다.
Tip 2 Labels에는 [버그], [리뷰 필요], [백엔드] 등을 적어주면 된다.
branch | fork | |
---|---|---|
의의 | 하나의 원본 저장소에서 분기를 나눈다. | 여러 원격 저장소를 만들어 분기를 나눈다. |
장점 | 하나의 원본 저장소에서 코드 커밋 이력을 볼 수 있다. | 원본 저장소에 영향을 미치지 않으므로 원격 저장소에서 마음껏 코드를 수정할 수 있다. |
단점 | 다수의 사용자가 다수의 브랜치를 만들면 관리하기 힘들다. | 원본 저장소의 이력을 보려면 따로 주소를 추가해야 한다. |
변경 사항을 업데이트
※ pull은 실제 코드를 내려받지만 fetch는 그래프만 업데이트 한다.
Source
너무 깔끔해요 👍