-
[Git] Github Organization 계정을 이용한 Forking Workflow 협업TIL-CS 2023. 6. 30. 12:19728x90
Repository 2개로 프로젝트를 하는 것.
구조
- 중앙 원격 저장소
- Organization 계정에 있는 Repository
- 사용자 원격 저장소에서 Pull Request 받는 곳
- 사용자 원격 저장소
- Organization 계정에 있는 Repository를 포크
- 각각의 사용자는 여기에 Push할 것
- 로컬 저장소
- 사용자 원격 저장소에서 Pull
사용법
- Organization 계정 만들고, 중앙 원격 저장소 만들기
- 내 계정으로 fork하기 (사용자 원격 저장소)
- 내 컴퓨터로 clone하기 (로컬 저장소)
- 작업하기
- 사용자 원격 저장소로 Commit and Push하기
- 사용자 원격 저장소(내 계정)에서 중앙 원격 저장소(Organization 계정)로 Pull Request 요청
- 다른 사람이 검토 후 승인하면 merge
- 원격 계정에서 Pull하기
실천
경상국립대학교 증강지능연구실
경상국립대학교 증강지능연구실 has 3 repositories available. Follow their code on GitHub.
github.com
원격 리포지토리: https://github.com/AugumentedIntelligenceLab-GNU/Camera-Hand
사용자 리포지토리: https://github.com/SH22Hwang/Camera-Hand
장점(ChatGPT가 생각하는)
- 분리된 작업 환경: 각 개발자는 자신의 계정으로 저장소를 Fork하여 독립적인 작업 환경을 유지할 수 있습니다. 이는 다른 개발자의 작업에 영향을 주지 않고 개별적으로 코드를 수정하고 실험할 수 있도록 합니다.
- 작업 브랜치 생성: 개발자는 Fork한 저장소에서 자신만의 브랜치를 생성하여 작업할 수 있습니다. 이를 통해 다른 개발자와의 충돌을 최소화하고 동시에 여러 작업을 병렬로 진행할 수 있습니다.
- Pull Request (PR): 개발자는 작업이 완료되면 원본 저장소로 Pull Request를 생성하여 코드 변경 사항을 제안할 수 있습니다. 이를 통해 다른 개발자들은 코드 변경 내역을 검토하고 논의할 수 있으며, 변경 사항을 병합하기 전에 피드백을 주고받을 수 있습니다.
- 코드 리뷰: Pull Request를 통해 코드 변경 사항을 검토하는 과정은 팀의 코드 품질을 유지하고 버그를 사전에 발견할 수 있는 좋은 기회입니다. 개발자들은 서로의 코드를 검토하고 의견을 제시할 수 있으며, 더 나은 코드를 작성하기 위한 협업을 할 수 있습니다.
- 이슈 관리: Github Organization을 사용하면 이슈 트래커를 활용하여 프로젝트의 이슈와 버그를 효과적으로 관리할 수 있습니다. 이슈를 생성하고 할당하여 작업을 추적하고 해결 상태를 확인할 수 있으며, 다른 개발자들과 이슈에 대한 토론을 할 수 있습니다.
- 투명한 협업: Github Organization을 사용하면 프로젝트에 참여하는 모든 개발자들이 코드 변경 내역, 이슈, 토론 등을 볼 수 있습니다. 이는 투명성을 높이고 개발자들이 프로젝트의 전반적인 상태를 파악할 수 있도록 돕습니다.
- 보안 및 백업: Github는 코드 저장소를 안전하게 보호하고, 데이터의 손실을 방지하기 위한 백업 기능을 제공합니다. 개발자들은 중앙 집중식 저장소를 사용함으로써 코드의 안정성과 신뢰성을 보장받을 수 있습니다.
단점
- 팀원들이 Git에 숙련되어 있어야 하며, Workflow에 대한 이해도가 높아야 한다.
- 절차가 복잡하여, 작업 상황을 자주 리뷰하기 어렵다.
출처:
https://gmlwjd9405.github.io/2017/10/28/how-to-collaborate-on-GitHub-2.html.
[GitHub] GitHub로 협업하는 방법[2] - Forking Workflow - Heee's Development Blog
Step by step goes a long way.
gmlwjd9405.github.io
https://gogojuni.dev/forking-workflow/
Forking Workflow
Gitflow workflow에서 좀 더 보수적으로 형상을 관리하는 Workflow인 Forking workflow에 대해 알아보자!
gogojuni.dev
728x90'TIL-CS' 카테고리의 다른 글
구글 드라이브 다운로드 오류 해결법 (쿠키 제거 아님) (0) 2023.11.02 [잡담] 구글 드라이브에 있는 Colab 깃허브에 옮기기 대작전 — Colab을 쓰는 이유 (0) 2023.10.25 경상국립대학교 컴퓨터과학전공 Jobday 전문가 초청특강 후기 (0) 2023.06.26 [Git] Git 커밋 메시지를 효율적으로 쓰는 법: 커밋 메시지 컨벤션 (2) 2023.06.02 ChatGPT로 무작위하게 생성한 스타크래프트 1.16.1 립버전 다운로드 (0) 2023.04.17 - 중앙 원격 저장소