1. 포크 작업 흐름
- 단일 서버(중앙 저장소)를 사용하는 대신 이 방법은 각 원격 중앙 저장소가 분기된 후에도 계속됩니다.
- 주요 이점은 모든 사람이 자신의 원격 저장소로 푸시한 다음 PR을 단일 중앙 저장소로 푸시하는 대신 중앙 저장소로 보낸다는 것입니다.
- 특별한 기능은 프로젝트 관리자만 중앙 원격 저장소에 통합할 수 있다는 것입니다.
- 각 분기 후에는 자체 원격 저장소가 있으며 다른 개발자는 다른 개발자의 원격 저장소에 푸시할 수 없습니다.
2. Forking 워크플로 방식
- 원격 중앙 저장소를 분기한 후 자신의 원격 저장소를 생성합니다.
- 이때 원격 중앙 저장소는 프로젝트를 관리하는 그룹 계정의 원격 저장소이다.
- 자체 원격 저장소를 생성하는 경우 이름을 변경할 수 있습니다.
- 이때 원격 중앙 저장소는 프로젝트를 관리하는 그룹 계정의 원격 저장소이다.
- Git Clone으로 로컬 리포지토리를 생성합니다.
git clone 내 래포 url
삼. 중앙 원격 저장소를 개별(자신의) 원격 저장소에 연결합니다.
git remote add upstream 중앙원격저장소url
- 자주 원래 소유자의 원격 제어말하면서 상류, 내가 포크한 리모콘말하면서 기원용어를 자주 사용
4. 새로운 기능을 개발하기 위해 분기를 만듭니다.
git checkout -b 브랜치이름
- git branch 브랜치명 //브랜치 생성 && git checkout 브랜치명 //해당 브랜치로 전환 두 개의 명령어가 하나의 명령어로 표현된다.
5. 로컬 저장소에서 원격 저장소로 변경 사항을 푸시합니다.
git add . //변경된 모든 파일 추가
git commit -m "커밋메세지등록"
git push origin 작업하고있는브랜치이름
- Origin에 원격 저장소를 등록했으므로 위의 명령을 입력하기만 하면 됩니다.
6. 위의 작업을 완료하면 중앙 저장소에 “Pull Requests” 버튼이 나타납니다.
본인은 본인의 작업 내용을 중앙 저장소에 표시할 것을 요청합니다.
7. 프로젝트 관리자가 병합된 후
8. 원격 중앙 저장소에 새로운 커밋이 있는 경우 pull 명령을 사용하여 변경된 콘텐츠를 가져옵니다.
git pull upstream main
9. 위의 과정을 반복하면 Forking Workflow와 협업하여 프로젝트를 완성할 수 있습니다.
원천
https://www.atlassian.com/git/tutorials/comparing-workflows/forking-workflow
https://gmlwjd9405.github.io/2017/10/28/how-to-collaborate-on-GitHub-2.html