728x90
GitHub의 Fork는 다른 사용자의 공개 저장소(Repository)를 복제하여 자신의 계정으로 가져오는 기능이다. 주로 오픈소스 프로젝트에 기여하거나 원본 코드를 활용해 독립적인 프로젝트를 만들 때 사용한다. Fork는 단순히 복사본을 만드는 것뿐 아니라 원본 저장소와 연결되어 있어 협업에도 유리하다.
Fork의 주요 목적과 특징
- 오픈소스 프로젝트에 기여
- 원본 저장소에서 직접 권한을 받지 않아도, 자신의 Fork에서 수정한 후 Pull Request를 통해 코드 변경 사항을 제안할 수 있음
- 독립적인 개발
- 기존 프로젝트를 기반으로 자신만의 기능을 추가하거나 새로운 방향으로 개발할 수 있음
- 예를 들어 UI를 커스터마이징하거나 기능을 확장하는 데 활용됨
- Fork와 원본 저장소의 연동
- Fork한 저장소를 계속해서 업데이트하기 위해 원본 저장소와 동기화(Sync)하거나 업데이트를 병합(Merge)할 수 있음
- Pull Request로 협업
- 수정 사항을 원본 프로젝트에 반영하고자 할 때, Fork한 저장소에서 작업을 마친 후 원본 저장소에 Pull Request를 보냄
- 원본 저장소의 관리자나 기여자들이 이를 리뷰하고 반영할지 결정할 수 있음
Fork를 통한 작업 프로세스
1. Fork
원본 저장소를 자신의 GitHub 계정으로 Fork한다.
2. Fork한 저장소를 로컬로 Clone
Fork한 저장소를 로컬 내 원하는 위치에 클론한다.
git clone "github repo 주소"
3. 새로운 브랜치 생성
main 브랜치에서 직접 작업하기보다는 기능별로 새 브랜치를 만드는 것이 좋다.
git checkout -b new_branch_name
브랜치를 만드는 이유는 여러 기능이나 버그 수정을 병렬로 작업할 수 있고, 다른 팀원과 코드 충돌을 최소화할 수 있으며, 마지막으로 원본 저장소에 Pull Request를 보낼 때, 작업의 범위가 명확해지기 때문이다.
4. 코드 수정 및 커밋
로컬에서 필요한 코드 수정을 하고 커밋한다.
git add .
git commit -m "커밋 내용"
5. Fork한 저장소의 브랜치에 Push
git push origin new_branch_name
6. 원본 저장소에 Pull Request 보내기
GitHub 웹사이트에서 Fork한 저장소의 해당 브랜치로 이동한 후, 원본 저장소로 Pull Request를 요청한다! 이때 PR을 보낼 때 원본 저장소의 main 브랜치와 비교하여 확인하는 것이 중요하다.
728x90
'etc' 카테고리의 다른 글
[GitHub] master branch를 main branch로 변경하기 (0) | 2024.11.22 |
---|---|
[GitHub] 깃허브 시작하기 - Repository 생성 (4) | 2024.09.19 |
[OS] - Thread 스레드에 대해 알아보자 (0) | 2024.03.10 |
[GitHub] MacOS 업데이트 후 Git 에러가 발생할 때 (xcrun: error) (0) | 2022.03.13 |