GIT-HUB로 협업하기

2star_·약 14시간 전
0

Shelter_PJ

목록 보기
4/4

팀 프로젝트를 위한 GIT HUB 협업 정리

비상사태 매뉴얼 챗봇 기능 구현을 팀 프로젝트의 주제로 정했다. 이전에도 머신러닝과 딥러닝 관련 팀 과제를 해본 적이 있지만, GIT-HUB를 통한 협업의 과정은 제대로 경험하지 못했던 것 같다. 그래서 이번에는 프로젝트에 본격적으로 돌입하기 전에, 협업 방식을 명확히 정리하고 체계적으로 작업하기 위해 블로그에 글을 작성하려고 한다. 이번 글은 GIT-HUB 협업 프로세스를 단계별로 정리하고, 각 단계에서 고려해야 할 부분들과 실전에서 활용할 수 있는 예시 코드들까지 포함할 예정이다.

1. 깃허브 레포지토리 만들기

먼저 프로젝트를 위한 새로운 레포지토리를 만든다. 이 레포지토리에는 팀 협업 규칙을 명시하는 README 파일을 작성해야 한다. README 파일에는 팀원들이 협업 중 지켜야 할 규칙, Git Flow(깃 플로우), 브랜치 사용 방법, 코드 리뷰 규칙 등을 작성한다. 이러한 내용은 명확한 협업 기준을 제시해준다. 예를 들어:

# 프로젝트 규칙
- **코드 리뷰**: 모든 팀원은 코드를 메인 브랜치로 병합하기 전에 다른 팀원의 리뷰를 받아야 한다.
- **브랜치 관리**: 각 팀원은 자신만의 브랜치를 만들어 작업하고, 메인 브랜치에 머지하기 전에 Pull Request(PR)를 만든다.
- **커밋 메시지 규칙**: 각 커밋 메시지는 목적과 변경 사항을 명확히 표현해야 한다. 예: `feat: 챗봇 초기 대화 설정 추가`.

2. 예시 파일 만들기

새로운 팀원이 프로젝트를 쉽게 시작할 수 있도록 기본적인 예시 파일을 만든다. 이 예시 파일에는 프로젝트 구조와 초기 설정이 포함되어야 한다. 예시 파일의 목적은 클론(clone) 후 바로 환경을 설정하고, 빠르게 작업을 시작할 수 있도록 하는 데 있다.

  • README.md: 프로젝트 시작을 위한 지침.

팀원들은 레포지토리를 클론하고 나서 바로 작업을 시작할 수 있도록 초기화된 예시 파일과 함께 명확한 디렉토리 구조가 필요하다.

3. 브랜치 관리하기

팀 프로젝트에서 중요한 부분 중 하나는 브랜치 관리다. 브랜치를 잘 관리하면 각자의 작업이 독립적으로 진행될 수 있고, 통합할 때 충돌을 최소화할 수 있다. 이번 프로젝트에서는 다음과 같은 브랜치 관리 규칙을 세웠다.

  • 메인 브랜치 보호: 메인 브랜치(main)는 모든 팀원이 신뢰할 수 있는 안정적인 상태로 유지되어야 한다. 따라서 메인 브랜치로의 병합(Merge)은 최소 2명 이상의 코드 승인(Review Approval)이 있어야만 가능하다.
  • 개인 브랜치 사용: 각 팀원은 자신의 작업을 개인 브랜치에서 수행하며, 절대 다른 팀원의 브랜치를 직접 수정하지 않는다. 개인 브랜치에서 안정적인 코드를 PR로 올려 팀의 검토를 받는다.

4. 깃허브 로직 (협업 규칙)

GitHub를 이용한 팀 협업은 명확한 로직과 규칙을 따라야 한다. 아래는 기본적인 깃허브 로직을 설명한다.

4.1 원격 작업 시작 전 최신 상태 동기화

먼저 팀 레포지토리의 최신 상태를 동기화해야 한다. 이는 모든 팀원들의 작업을 반영한 최신 코드를 받기 위함이다. 다음 명령어로 원격 저장소의 최신 정보를 동기화한다.

git fetch origin

4.2 개인 브랜치에서 작업하기

개인 작업은 모두 자신의 브랜치에서 이루어져야 한다. 작업을 시작하기 전에, 다음 명령어를 사용해서 개인 브랜치를 생성하고 이동한다:

git checkout -b feature/new-feature-name

여기서 feature/new-feature-name은 작업하려는 기능이나 버그 수정을 명확하게 설명하는 이름으로 한다.

4.3 변경 사항 추가 및 커밋

코드 작업 후 변경 사항을 추가하고 커밋하는 과정이다. 간단히 다음 명령어를 사용한다:

git add .
git commit -m "feat: 새로운 기능 추가"

4.4 원격 저장소로 푸시하기

개인 브랜치에서 작업이 완료되었다면, 원격 저장소에 푸시(push)한다. 이는 다음과 같은 명령어로 가능하다:

git push origin feature/new-feature-name

4.5 Pull Request 만들기

모든 작업이 완료되면, 개인 브랜치를 메인 브랜치로 병합하기 위해 Pull Request(PR)를 만든다. 이때 다른 팀원들의 리뷰와 승인을 요청해야 한다. 최소 2명의 팀원이 확인(Review Approval)해야 병합이 가능하도록 설정한다.

4.6 충돌 해결하기

만약 병합 과정에서 충돌(conflict)이 발생한다면, 팀원들 간 충분한 소통을 통해 충돌을 해결한다. 다음 명령어를 사용해서 충돌을 확인하고 해결할 수 있다:

git merge main

충돌이 발생하면 수정 후 다음 명령어로 변경 사항을 커밋한다:

git add .
git commit -m "fix: 충돌 해결"

이후 다시 PR을 진행한다.

결론

이번 팀 프로젝트에서 깃허브 협업은 효과적인 협업과 코드 품질 관리를 위해 꼭 필요하다. 깃허브의 협업 기능을 최대한 활용해서, 팀원 간 소통을 원활히 하고 프로젝트를 성공적으로 완료할 수 있도록 해야 한다. 모든 팀원이 각자의 역할을 잘 수행하고, 서로의 코드를 검토하고 발전시키는 과정을 통해 더 나은 결과를 얻을 수 있을 것이다.

위의 깃허브 협업 로직을 실제 프로젝트에 적용해서 보다 체계적이고 효율적인 협업을 경험해야 한다.

profile
안녕하세요.

0개의 댓글