Git연습을 할 겸, 팀 스터디를 위한 리포지토리를 만들기로 했습니다. 개인적 목적으로 리포지토리를 만들고 사용한 적은 있지만, 협업을 위해 사용한 적은 없어서 Git 사용에 익숙해지기 위해 팀스터디를 위한 리포지토리를 만들고 팀 자료를 공유하기로 했습니다. 아래는 그 과정을 찾아보고 실습한 내용을 정리한 것입니다.
팀과 협업에 사용할 리포지토리를 생성합니다.
리모트에 생성한 리포지토리를 로컬로 가져옵니다.
예)
git clone https://사용자명:토큰@github.com/리포지토리_주소
git clone https://buzziru:토큰@github.com/buzziru/team_study.git
리포지토리를 생성했으면 협업을 할 팀원을 초대할 수 있습니다. settings - collaborators를 통해 팀원을 초대합니다.
추후 작업과정 중에 폴더구조가 변경될 가능성이 크지만, 처음 계획한 구조를 기본으로 리포지토리를 구성합니다.
데이터 분석 프로젝트를 진행한다면, 시각화, 머신러닝 모델 등 기능별로 브랜치를 구분해서 생성합니다. 기능별로 분리된 작업영역에서 작업을 완료하고 최종적으로 main 브랜치로 합병합니다. 예시로 생성하는 리포지토리는 팀스터디를 위한 것이므로 각자의 이니셜을 따서 브랜치를 생성하기로 했습니다.
git checkout -b 브랜치이름
새로 생성한 브랜치에서 git status
로 현재 상태를 확인 후 로컬폴더의 작업 내용을 커밋합니다. 여기선 예시를 위해 README.md 파일을 수정하고, 그 수정사항을 커밋하도록 하겠습니다.
git add .
git commit -m '커밋메세지'
로컬에 생성한 브랜치를 리모트에 푸쉬합니다.
git push origin 생성한 브랜치
깃허브를 확인해보면, 새로운 브랜치에서 푸쉬가 있었음을 보여줍니다.
개인적으로 리포지토리를 사용할 땐 개별 브랜치에서 git merge
를 통해 간단하게 브랜치를 병합하지만, 협업과정에선 개별 브랜치를 메인 브랜치로 병합하기 전 작업 내용을 협업자 간에 확인하는 과정을 필요로 합니다.
개별 브랜치에서의 작업이 완료되면, 이 변경사항을 메인 브랜치(보통 main
또는 master
)에 병합하기 전에 'Pull Request(PR)'를 생성합니다. 이 과정은 협업에서 코드 리뷰와 토론을 위한 것입니다.
main
또는 master
)를 선택하고, 'compare' 브랜치로 변경사항을 적용하고자 하는 브랜치를 선택합니다.여기선 리포지토리의 목적상 설정하지 않았지만 PR 승인 옵션을 설정할 수 있습니다.
이 과정을 통해, 팀원들은 각자의 작업을 독립적으로 진행하고, 중앙 브랜치에 안전하게 병합하는 것이 가능해집니다.
팀 스터디를 위한 리포지토리를 만들면서, 깃을 협업 도구로 인식하고 사용하려고 시도해 보았습니다. 코드를 통해 소통하는 방법은 어떤 체계를 갖고 있는가를 살펴볼 수 있었습니다.
강의에서 깃이 버전관리에 더해 단순히 코드와 데이터를 공유한다는 기술적인 부분을 넘어서 팀 내 커뮤니케이션과 공동 작업의 질을 향상시키기 위한 도구라는 설명이 왜 적절했는지를 조금 알 것 같습니다.