1. Fork란?
빙키와 개리가 만든 저장소가 있다. 이 저장소에 없는 기능을 알리가 만들고 싶어한다. 하지만 저장소의 권한은 빙키와 개리에게만 있고 알리에게는 없다. 기여자 등록을 따로 하지 않아도 Fork기능을 사용하여 원본 저장소를 복사해 내 저장소에서 commit > push 하실 수 있다. 기능 생성 후, 내 저장소 브랜치와 빙키와 개리의 저장소의 브랜치에 merge를 하면 된다.
물론 허락을 맡아야 한다.
2. Fork 하는 방법
1) 복사하고자 하는 Github 레파지토리에 들어가서 오른쪽 상단에 Fork를 클릭한다.
Fork가 완료되면 내 레파지토리에 생성된 것을 볼 수 있다.
2) 이제 포크한 저장소를 클론하기 위해 주소 복사 버튼을 클릭한다.
3) 저장하고 싶은 곳으로 이동한 후, 클론한다.
$ cd 저장하고_싶은_디렉토리
$ git clone 복사한_git주소 .
이때, 개리와 빙키의 원본 저장소의 변경 이력을 볼 수 없다. 원본 저장소와 알리의 저장소는 다르기 때문이다. 원본 저장소의 이력을 보고 싶은 경우에는 원본 저장소를 원격 저장소에 추가해야 한다.
4) 원격 저장소 이름들을 가지고 온다.
$ git remote
5) 새로운 원격 저장소를 추가한다.
$ git remote add 새로운_원격저장소_이름 fork한_git주소
6) 로컬 저장소에는 없지만 원본 저장소에 있는 데이터를 가져오려면 fetch 명령어를 입력한다.
$ git fetch 새로운_원격저장소_이름
3. 브랜치와 포크의 차이
브랜치와 포크는 두가지 모두 코드를 협업하기 위해 분기점을 나누는 방식이지만 특성이 다르므로 프로젝트에 맞게 사용해야 한다.
브랜치 | 포크 |
하나의 저장소에서 브랜치를 나누어 쓴다. | 여러 저장소를 만들고 브랜치를 만들어 사용한다. |
코드 커밋 이력을 쉽게 볼 수 있다. | 원본 저장소에 영향을 미치지 않으므로 자유롭게 수정할 수 있다. |
소수인원 작업 시사용하는 것이 좋다. | 원본 저장소의 이력을 보려면 주소를 추가해야 한다. |
불특정 다수의 사람의 작업 시 사용하는 것이 좋다. |
728x90
'통합개발도구 > Git & Git-Hub' 카테고리의 다른 글
6. Pull Request (0) | 2024.06.07 |
---|---|
4. Branch (1) | 2024.06.07 |
3. Git-hub (0) | 2024.06.07 |
2. Git (0) | 2024.06.05 |
1. Git & GitHub 기본 개념 (0) | 2024.06.05 |
댓글