1. fork란?
Git에서 Fork는 원격 저장소의 전체 복사본을 자신의 GitHub 계정으로 복사하는 것을 말합니다.
이것을 통해서 원본 저장소에 영향을 주지 않고 자유롭게 변경 사항을 실험하거나 추가 개발을 진행할 수 있어용
2. fork 과정
2.1 fork 생성
GitHub에서 저장소 페이지에서 fork를 선택
이렇게 하면 해당 저장소의 전체 복사본이 자신의 계정으로 생성
저장소를 복사할 계정을 선택하고 Repo 이름을 지정
원래라면 UOU-UNKNOWN 에 있던 Repo가 내 개인 계정에 저장되었다.
즉 원본을 복사해서 내 계정의 Repo로 추가한 것입니다.
3. fork 이후 과정
3.1 local로 clone
Fork한 저장소를 개인 로컬 저장소로 clone하여 작업할 수 있다.
clone repository 선택 후 clone 눌러주면 끝
또는, git clone [url] 사용해서 가능하다.
3.2 변경 사항 commit
수정한 내용을 커밋하고 자신의 저장소로 푸시한다.
CLI 명령으로는 이렇게 하는데…. Desktop 쓰겠습니다
git add .
git commit -m "변경 사항 설명"
git push origin master
GitHub Desktop을 쓰면 굉장히 편하다….
그냥 commit to main 누르고 push origin 누르면 된다.
내 GitHub 저장소에 변경된 것이 확인되었다. 이것을 원본 Repo에 적용하려면 요청을 보내야 합니다.
3.3 pull request
원본 프로젝트에 자신의 변경 사항을 반영해달라고 요청하면 된다.
fork는 다른 사람의 원격 저장소를 내 원격 저장소로 복제하는 것이라서 다시 다른 사람의 원격 저장소에 적용해야함
현재 UNKNOWN Repo를 fork해서 내 원격 저장소로 들고왔다.
그리고 git clone 해서 내 로컬 저장소로 들고왔다.
그리고 변경사항을 push 했다.
Create pull request 선택
Desktop 아니라면 push 했을 때 초록색으로 뭔가 뜬다.
pull request 하면 UNKNOWN에서 확인가능
Merge 하면 원본 저장소에 적용된다.
병합을 하니 원본 Repo에서도 내가 수정한 사항이 적용 되었다.
4. fork 유지 관리
원본 저장소의 변경 사항을 자신의 Fork에 반영하기 위해서, 원본 저장소를 upstream remote로 추가하고
변경 사항을 가져온 후 로컬 master 브랜치에 병합한다.
즉, 이런식으로 누군가 수정한 코드가 원본 Repo에 반영이 되었다면
우리는 그것을 최신화 시켜서 개발을 진행해야 한다.
Update form upstream/main 누르고
Fetch origin 누르고 내 복제 GitHub 저장소에도 저장하고 싶다면 push origin 누르면 된다.
원래 hello만 있었는데
원본에서 변경된 코드가 저의 local 저장소에도 적용이 되었습니다.
'환경 세팅 및 사용법 > GitHub' 카테고리의 다른 글
Git과 GitHub란 무엇인가? (2) | 2024.10.27 |
---|---|
[GitHub] 기본 용어 정리 (0) | 2024.06.26 |
[GitHub] Branch (0) | 2024.06.26 |
[GitHub] 저장소 기본 (1) | 2024.06.26 |
[GitHub] 계정 생성 및 설정 (0) | 2024.04.26 |