100일 챌린지 Day 54 - Fork 기반 협업의 전체 워크플로우를 처음부터 끝까지 실습합니다.
배울 내용
- Fork 워크플로우 전체 프로세스
- 단계별 명령어와 체크포인트
- 실전 시나리오별 워크플로우
1. Fork 워크플로우 개요
sequenceDiagram
participant U as Upstream
participant O as Origin
participant L as Local
U->>O: 1. Fork
O->>L: 2. Clone
L->>L: 3. 브랜치 생성 & 작업
L->>O: 4. Push
O->>U: 5. Pull Request
U->>U: 6. 코드 리뷰
U->>U: 7. Merge
2. 완전한 워크플로우
Step 1: Fork & Clone
1
2
3
4
5
6
| # GitHub 웹에서 Fork 버튼 클릭
# myname/project 생성됨
# Clone
git clone https://github.com/myname/project.git
cd project
|
Step 2: Upstream 설정
1
2
| git remote add upstream https://github.com/original/project.git
git remote -v
|
Step 3: 동기화
1
2
3
4
| git fetch upstream
git checkout main
git merge upstream/main
git push origin main
|
Step 4: 작업 브랜치
1
2
3
4
| git checkout -b feature-awesome
# 코드 작업
git add .
git commit -m "feat: Add awesome feature"
|
Step 5: Push to Origin
1
| git push origin feature-awesome
|
Step 6: Pull Request
1
2
3
4
| GitHub 웹에서:
1. "Compare & pull request" 클릭
2. PR 제목과 설명 작성
3. "Create pull request" 클릭
|
Step 7: 코드 리뷰 & 수정
1
2
3
4
5
6
| # 리뷰어 피드백 반영
git checkout feature-awesome
# 코드 수정
git add .
git commit -m "fix: Address review comments"
git push origin feature-awesome
|
Step 8: Merge 후 정리
1
2
3
4
5
6
7
8
9
| # PR이 Merge되면
git checkout main
git fetch upstream
git merge upstream/main
git push origin main
# 작업 브랜치 삭제
git branch -d feature-awesome
git push origin --delete feature-awesome
|
3. 실전 시나리오
시나리오 1: 버그 수정
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| # 1. 최신 동기화
git fetch upstream
git checkout main
git merge upstream/main
# 2. 버그 수정 브랜치
git checkout -b fix-button-crash
# 3. 수정 & 테스트
# 4. 커밋
git commit -m "fix: Resolve button crash on mobile"
# 5. Push & PR
git push origin fix-button-crash
|
시나리오 2: 새 기능 개발
1
2
3
4
5
6
7
8
9
10
11
| # 1. Issue 확인 (#123)
# 2. 브랜치 생성
git checkout -b feature-dark-mode-123
# 3. 개발
# 4. 커밋 (Issue 연결)
git commit -m "feat: Implement dark mode
Closes #123"
# 5. PR 생성
|
4. 체크리스트
PR 생성 전:
- Upstream과 동기화 완료
- 로컬 테스트 통과
- 커밋 메시지 검토
- 불필요한 파일 제외
PR 생성 시:
- 명확한 제목
- 상세한 설명
- 스크린샷 (UI 변경 시)
- 관련 Issue 연결
정리
완료 체크:
- Fork 워크플로우 전체 과정을 설명할 수 있다
- 각 단계의 명령어를 실행할 수 있다
- PR 생성 전 체크리스트를 작성할 수 있다
핵심 요약:
- Fork → Clone → Branch → Commit → Push → PR
- 항상 Upstream과 동기화 유지
- 작업 브랜치는 main에서 분기
다음: Day 55 - 기여할 프로젝트 찾기 →