포스트

[GitHub 100일 챌린지] Day 54 - Fork 워크플로우 완전 정복

[GitHub 100일 챌린지] Day 54 - Fork 워크플로우 완전 정복

100일 챌린지 Day 54 - Fork 기반 협업의 전체 워크플로우를 처음부터 끝까지 실습합니다.

배울 내용

  1. Fork 워크플로우 전체 프로세스
  2. 단계별 명령어와 체크포인트
  3. 실전 시나리오별 워크플로우

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 - 기여할 프로젝트 찾기


이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.