Git fork 개념과 사용법
깃허브에 꾸준히 개발을 했다는 증거로 남기는 것이 바로 잔디입니다!
대학생 때 프로젝트를 하면 다른 사람의 계정에 레포지토리를 만들다보니 제 계정에 잔디가 심어지지 않은 경우가 있어서 아쉬웠는데, 이를 해결하는 방법이 바로 fork라고 합니다. 그럼 더 자세히 알아볼까요?
1. 포크(Fork)의 개념
포크(Fork)는 GitHub에서 다른 사용자의 저장소(레포지토리)를 자신의 계정으로 복사하는 과정을 말합니다. 이를 통해 여러 사용자가 동일한 프로젝트에 참여하거나 개선 사항을 제안할 수 있습니다. 포크를 통해 만들어진 저장소는 원본 저장소와는 독립적으로 관리됩니다.
전체적인 포크 과정은 이와 같습니다.
- 원본 저장소 포크하기: GitHub에서 다른 사용자의 저장소를 열어서 "Fork" 버튼을 클릭하면 해당 저장소가 여러분의 계정으로 복사됩니다. 이제 여러분은 이 복사본을 자유롭게 수정하고 개발할 수 있습니다.
- 로컬에서 클론하기: 포크한 저장소를 로컬 컴퓨터로 가져오기 위해 git clone 명령어를 사용합니다. 이를 통해 여러분은 자신의 로컬 환경에서 프로젝트를 작업할 수 있습니다.
- 원본 저장소와 연결하기: 포크한 저장소는 독립적으로 존재하지만, 여전히 원본 저장소와의 연결이 유용합니다. 이를 위해 git remote add upstream 명령어를 사용하여 원본 저장소를 추가합니다. 이후 원본 저장소의 업데이트를 가져오거나 제안한 변경 사항을 원본 저장소에 제출할 수 있습니다.
- 개발하고 변경사항 제안하기: 로컬에서 코드를 수정하고 개발한 후, 변경사항을 자신의 포크한 저장소에 커밋합니다. 그런 다음 GitHub에서 원본 저장소로 Pull Request를 보내 변경 사항을 원본 저장소에 통합할 수 있습니다.
포크는 주로 오픈 소스 프로젝트에서 기여하는 데 사용되며, 원본 저장소의 소유자가 사용자들의 기여를 검토하고 병합할 수 있도록 합니다. 이를 통해 다양한 사용자들이 협업하며 프로젝트를 향상시킬 수 있습니다.
2. 포크(Fork) 사용 방법
2.-1. 원하는 프로젝트에서 fork 버튼 눌러서 fork 생성하기
저는 이미 저의 브랜치를 만든 상태라 <Copy the main branch only>는 해제하고 fork를 떴습니다.
2-2. 로컬에서 clone하기
내 레포지토리 깃 주소 가져와서 로컬 저장소에(내 노트북) clone하기
git clone **https://github.com/Park-kxng/Money-Planner-FE.git**
clone한 디렉토리로 들어가서 원격저장소를 확인하면 원격저장소가 orgin으로 잘 설정되어 있는 것을 확인할 수 있습니다. 이 orgin은 제 계정에 있는 레포지토리 주소를 말합니다.
git remote -v
fork한 로컬 프로젝트는 origin이 기본적으로 추가되어 있는 것을 확인할 수 있습니다.
2-4. 원본 저장소와 연결하기
원본 프로젝트를 원격저장소로 등록하는 과정입니다. 보통 위에서 흐른다라는 뜻으로 upstream으로 지정한다고 합니다. 3번 코드를 다시 넣어 확인했더니 원격 저장소에 아까는 없던 upstream가 추가된 것을 확인할 수 있습니다.
git remote add upstream https://github.com/UMC-5th-Muffler/Money-Planner-FE.git
pull request 하는 포스팅으로 다시 돌아올게요! 개발감자였습니다 :)