TIL-CS

[Git] Github Organization 계정을 이용한 Forking Workflow 협업

이무기뱀술 2023. 6. 30. 12:19
728x90

Repository 2개로 프로젝트를 하는 것.

 

구조

  • 중앙 원격 저장소
    • Organization 계정에 있는 Repository
    • 사용자 원격 저장소에서 Pull Request 받는 곳
  • 사용자 원격 저장소
    • Organization 계정에 있는 Repository를 포크
    • 각각의 사용자는 여기에 Push할 것
  • 로컬 저장소
    • 사용자 원격 저장소에서 Pull

 

사용법

  1. Organization 계정 만들고, 중앙 원격 저장소 만들기
  2. 내 계정으로 fork하기 (사용자 원격 저장소)
  3. 내 컴퓨터로 clone하기 (로컬 저장소)
  4. 작업하기
  5. 사용자 원격 저장소로 Commit and Push하기
  6. 사용자 원격 저장소(내 계정)에서 중앙 원격 저장소(Organization 계정)로 Pull Request 요청
  7. 다른 사람이 검토 후 승인하면 merge
  8. 원격 계정에서 Pull하기

 

실천

Organization 계정

 

경상국립대학교 증강지능연구실

경상국립대학교 증강지능연구실 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가 생각하는)

  1. 분리된 작업 환경: 각 개발자는 자신의 계정으로 저장소를 Fork하여 독립적인 작업 환경을 유지할 수 있습니다. 이는 다른 개발자의 작업에 영향을 주지 않고 개별적으로 코드를 수정하고 실험할 수 있도록 합니다.

  2. 작업 브랜치 생성: 개발자는 Fork한 저장소에서 자신만의 브랜치를 생성하여 작업할 수 있습니다. 이를 통해 다른 개발자와의 충돌을 최소화하고 동시에 여러 작업을 병렬로 진행할 수 있습니다.

  3. Pull Request (PR): 개발자는 작업이 완료되면 원본 저장소로 Pull Request를 생성하여 코드 변경 사항을 제안할 수 있습니다. 이를 통해 다른 개발자들은 코드 변경 내역을 검토하고 논의할 수 있으며, 변경 사항을 병합하기 전에 피드백을 주고받을 수 있습니다.

  4. 코드 리뷰: Pull Request를 통해 코드 변경 사항을 검토하는 과정은 팀의 코드 품질을 유지하고 버그를 사전에 발견할 수 있는 좋은 기회입니다. 개발자들은 서로의 코드를 검토하고 의견을 제시할 수 있으며, 더 나은 코드를 작성하기 위한 협업을 할 수 있습니다.

  5. 이슈 관리: Github Organization을 사용하면 이슈 트래커를 활용하여 프로젝트의 이슈와 버그를 효과적으로 관리할 수 있습니다. 이슈를 생성하고 할당하여 작업을 추적하고 해결 상태를 확인할 수 있으며, 다른 개발자들과 이슈에 대한 토론을 할 수 있습니다.

  6. 투명한 협업: Github Organization을 사용하면 프로젝트에 참여하는 모든 개발자들이 코드 변경 내역, 이슈, 토론 등을 볼 수 있습니다. 이는 투명성을 높이고 개발자들이 프로젝트의 전반적인 상태를 파악할 수 있도록 돕습니다.

  7. 보안 및 백업: 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