ตัวอย่างบทเรียน

팀워크: 포크, 기능 브랜치 및 풀 리퀘스트

이 섹션은 오픈소스와 기업 팀의 90%가 어떻게 협업하는지 설명합니다. fork → feature-ветка → 커밋 → pull request → 코드 리뷰 → 병합의 전체 과정을 배웁니다. 또한 PR 설명을 작성하여 리뷰어가 즉시 맥락을 이해할 수 있는 방법과 초보자에게 흔한 PR 실수를 다룹니다.

포크(fork) 풀 리퀘스트(pull request) 코드 리뷰(code review)
คุณจะเรียนรู้อะไรในบทเรียนนี้
  • 표준 fork → PR 사이클을 통해 모든 오픈소스 프로젝트에 기여할 수 있습니다.
  • 리뷰어가 추가 질문 없이 작업을 이해할 수 있도록 pull request를 작성하는 방법을 배웁니다.
  • 코드 리뷰에서 지적 사항에 올바르게 대응하는 기술적, 소통적 방법을 이해합니다.

จุดเริ่มต้นของบทเรียน

포크 — 나만의 실험 공간

  • 포크는 GitHub에 있는 리포지토리의 개인 복사본입니다
  • 원본에 영향을 주지 않으면서 완전한 제어가 가능합니다
  • 원본 프로젝트와의 연결을 유지합니다
  • 실험 및 오픈소스 기여에 이상적입니다

도서관에서 흥미로운 책을 발견했지만, 그 책에 필기를 할 수 없다고 상상해보세요. 포크는 바로 이 문제를 해결해 줍니다. GitHub에 여러분만의 리포지토리 개인 복사본을 생성하여, 원본 프로젝트를 손상시킬 위험 없이 코드로 실험할 수 있습니다. 이는 아이디어를 테스트하거나 다른 사람의 프로젝트에 기여해야 할 때 특히 유용합니다. 포크는 원본 리포지토리에 연결되어 있어 업데이트를 추적하고 변경 사항을 작성자에게 다시 보내기가 쉽습니다.

GitHub에서 포크 생성 방법

  • 오른쪽 상단의 Fork 버튼을 클릭합니다
  • 대상으로 자신의 계정을 선택합니다
  • 복사본이 생성될 때까지 기다립니다
  • 로컬 머신에 포크를 클론합니다

GitHub에서 원하는 리포지토리를 열고 오른쪽 상단에 있는 'Fork' 버튼을 찾으세요. 클릭한 후 대상으로 자신의 계정을 선택합니다. 몇 초 후 GitHub가 프로필에 리포지토리의 정확한 복사본을 생성합니다. 이제 git clone 명령어로 컴퓨터에 복제하고 작업을 시작할 수 있습니다. 원본 리포지토리가 아닌 자신의 포크를 복제하고 있는지 확인하는 것을 잊지 마세요.

# 컴퓨터에 포크 복제
git clone https://github.com/your-username/repository.git

# 프로젝트 디렉토리로 이동
cd repository

# 원격 리포지토리 확인
git remote -v

포크 vs 클론: 차이점은?

  • 클론: 컴퓨터에 있는 로컬 복사본
  • 포크: GitHub 계정에 있는 원격 복사본
  • 포크는 원본 리포지토리와의 연결을 유지합니다
  • 변경 사항 동기화에 편리합니다

두 프로세스 모두 리포지토리의 복사본을 생성하지만, 근본적인 차이점이 있습니다. 클론은 코드를 컴퓨터에 다운로드하는 반면, 포크는 GitHub 계정에 원격 복사본을 생성합니다. 포크는 원본 프로젝트와의 연결을 유지하여 변경 사항을 쉽게 동기화할 수 있습니다. 이것이 오픈소스 프로젝트에 참여할 때 핵심적인 포인트입니다. 포크에서 작업한 후 pull request를 통해 작성자에게 변경 사항을 제안합니다. 이제 프로젝트 복사본을 만들었으니 로컬 머신으로 가져와서 작업하는 방법을 배워보겠습니다.

บทเรียนฉบับเต็มใช้ได้เมื่อสมัครสมาชิก

ฉบับเต็มมีสไลด์เพิ่มอีก 30 สไลด์

วิดีโอ สไลด์ทั้งหมด โน้ต แบบทดสอบ AI ติวเตอร์ และการสัมภาษณ์จะเปิดหลังเข้าสู่ระบบและสมัครสมาชิก

เข้าสู่ระบบหรือลงทะเบียน สมัครสมาชิก

เนื้อหาบทเรียน

  1. 포크 — 나만의 실험 공간
  2. GitHub에서 포크 생성 방법
  3. 포크 vs 클론: 차이점은?
  4. 컴퓨터에 포크 복제하기
  5. 동기화를 위한 upstream 추가
  6. 원격 리포지토리 확인
  7. 별도 브랜치가 필요한 이유는?
  8. 기능(feature) 브랜치 만들기
  9. 브랜치 이름을 올바르게 짓는 방법
  10. 원자적 커밋이 필요한 이유
  11. 완벽한 커밋 메시지 작성하기
  12. 커밋에서 흔한 실수들
  13. 포크에 브랜치를 게시하는 이유
  14. 브랜치 게시를 위한 git push 명령어
  15. 게시된 브랜치 확인하기
  16. Pull Request: 변경 요청서
  17. PR 제목: 간결하고 요점만
  18. PR 설명: 무엇을, 왜, 어떻게 확인할지
  19. PR에서 흔한 실수
  20. PR 괴물: 왜 큰 풀 리퀘스트가 리뷰를 망치는가
  21. PR 설명: 설명할 기회이지, 사과할 기회가 아니다
  22. 하나의 PR에는 하나의 작업: 관련 없는 변경 사항을 섞지 않는 방법
  23. 코드 리뷰: 편집자와의 대화
  24. 모든 리뷰 코멘트에 답변하기
  25. 수정 사항을 별도의 커밋으로 기록하기
  26. 병합 충돌이 발생하는 이유
  27. 병합 전에 브랜치 업데이트하기
  28. 충돌 찾기 및 수정하기
  29. 충돌 해결 완료하기
  30. 성공적인 병합 후 정리
  31. GitHub에서 Feature 브랜치 삭제하기
  32. 로컬 저장소 업데이트하기
  33. 팀워크 마스터: 포크부터 머지까지

บทความเกี่ยวกับบทเรียนนี้

บทเรียนทั้งหมดในคอร์สนี้

  1. 소개: 완전 초보에서 자신 있는 개발자로 성장하기 위한 Git
  2. Git가 왜 필요한가? — 취업에 왜 필수인가
  3. Git 설치 및 설정: 첫 실행을 위한 준비
  4. 첫 번째 저장소: init, add, commit과 인덱스의 마법
  5. 히스토리 읽기: log, diff, show 및 과거 탐색
  6. 브랜치: 코드의 평행 현실
  7. 오류 취소하기: restore, reset, revert — 올바른 방법과 위험한 방법
  8. GitHub 및 원격 저장소: 클라우드에 코드 저장하기
  9. 팀워크: 포크, 기능 브랜치 및 풀 리퀘스트
  10. 병합 충돌: 당황하지 말고 이해하고 해결하기
  11. 실제 팀의 Git 프로세스: 어떤 워크플로우를 선택할까
  12. 고급 도구: 리베이스, 스태시, 체리픽 및 태그
  13. 최종 프로젝트: 실제 팀 개발 시뮬레이션