Fork 는 협업을 push 가 아니라 요청으로 바꿔
Fork-and-pull workflow 는 직접 write 권한 없는 프로젝트에 기여하는 오픈소스 세계의 방식이야. 모양: 프로젝트를 네 계정으로 복사 (fork), 네 fork 의 branch 에서 변경, 그 변경을 Pull Request 로 원본 maintainer 에게 pull 요청. 원본 repo 는 절대 push 권한 안 줘. PR 메커니즘이 직접 push 를 대체하는 요청-검토 채널이야.
기계적으로: GitHub 의 "Fork" 버튼이 네 계정에 server-side 사본 생성. 네 fork 를 local 로 clone 하고 원본을 두 번째 remote 로 추가 (관습적으로 upstream). 일상 흐름: upstream 에서 fetch, fork 의 main 동기화, 새 작업용 branch 분기, 새 branch 를 네 fork 로 push, GitHub 에서 PR 열기. PR description 은 사례 만드는 자리 — 뭐 바꿨고 왜, 검증법, risk.
Fork 동기화 유지가 중요해, 옛 base 에 대한 PR 은 가짜 conflict 를 만들거든. 깔끔한 댄스: git fetch upstream, git switch main, git rebase upstream/main, git push origin main. 이제 네 fork 의 main 이 원본을 거울. 이 시점에서 main 분기하면 깨끗하게 적용되는 PR. GitHub web UI 도 'Sync fork' 버튼이 같은 일을 터미널 없이 해줘.
PR 자체가 사회적 산출물이야. 제목은 imperative, 가능하면 Conventional Commits prefix. description 은 진짜 섹션: what, why, how to test, 시각적이면 screenshot, breaking change 있으면 명시. issue 링크. PR 은 집중 — 한 PR 에 한 관심사. Reviewer 가 코멘트, 너는 같은 branch 에 commit 더 push (PR 자동 업데이트), 승인되면 maintainer merge. Merge 후 양쪽에서 branch 삭제. 다음 pull 때 네 fork main 이 새 history 와 동기화.