본문 바로가기
취미

[Github] 깃허브로 협업하는 방법

by climb_JJIYO 2024. 1. 30.
반응형

소프트웨어의 개발은 개인보다는 팀으로의 협업이 중요한 요소로 자리잡고 있습니다. 이러한 협업을 위해 Git 및 GitHub와 같은 협업 도구는 매우 중요한 역할을 하고 있습니다. GitHub는 코드관리, 버전관리, 이슈 트래킹, 코드 리뷰, 협업 기능 등 다양한 기능을 제공하여 효율적인 소프트웨어 개발 및 협업 환경을 제공합니다.

이 글에서는 GitHub를 사용하여 팀원들과의 협업을 하는 방법에 대해 알아보겠습니다. GitHub를 이용한 협업은 코드의 버전 관리부터 팀원 간의 의견 공유, 작업 분배, 코드 리뷰 등을 포함하고 있습니다. 이를 통해 팀원 간의 소통과 협업을 원활하게하고, 소프트웨어 개발 프로젝트를 효율적으로 관리할 수 있습니다.

1. 깃허브로 협업하는 방법

1. 원격 저장소에 공동작업자 추가하기

  • github 레파지토리(저장소)를 만듭니다.
  • 레파지토리에서 Setting -> Collaborators 에서 팀원(깃허브 ID or 이메일)을 추가합니다.
  • 팀원에게 초대 메일을 전송합니다.
  • 초대 메일을 받은 팀원이 초대를 수락합니다.

2. 작업환경 구성

  • 각 작업자의 컴퓨터에 지역 저장소를 만듭니다. (깃과 연결할 폴더를 생성합니다.)
  • 공동 작업에서 사용할 이름과 이메일 주소를 지정합니다.
    ( 저장소마다 다른 이름이나 메일 주소를 사용하기 위해 --global 옵션을 빼고 작성합니다.)
# git init [저장소 이름]
git init tmp
# tmp 폴더가 생성됨. tmp 폴더 내에 .git 파일 생성됨

# or 이미 생성한 폴더 일때 해당 폴더 내에서
# git init

cd tmp

git config user.name "사용자 이름"
git config user.email 이메일

 

2. 깃에 첫번째 푸시

레파지토리의 "대표자"가 먼저 코드를 github에 push 해야합니다.

 

원격 저장소에 첫번째 푸시를 합니다.

# push할 테스트용 문서 작성
vim overview.txt

# 스테이지에 올리고 커밋
git add overview.txt
git commit -m "overview"

# git master 브랜치를 main으로 변경
git branch -M main

 

  • 원격 저장소 주소 복사 후 깃의 origin에 복사한 주소를 지정합니다.
  • 그 다음, git push 명령으로 origin의 master 브랜치에 커밋을 올립니다.
  • 이때, -u 옵션을 사용하면 다음부터 git push 명령만으로 원격 저장소의 master branch에 커밋을 올릴 수 있습니다.
git remote add origin 복사한 저장소 주소
# 복사한 저장소 주소 예시 - https://github.com/abcde/tmp.git
git push -u origin main

 

3. 첫번째 push가 아니라면 pull 먼저 작업

 

공동작업자는 대표작업자가 올린 내용을 pull를 먼저 작업해야 합니다.

  • 원격 저장소를 복제하는 작업입니다.
git clone 원격저장소 주소

# 생성된 원격저장소 폴더 위치로 이동
cd tmp
  • 최신 커밋을 pull 하지 않으면 push가 이루어지지 않습니다.
  • 최신 커밋 정보를 가져온 후 지역 저장소의 커밋을 올려야 합니다.
git pull

## 무언가 수정/추가 한 후

git push -u origin main

 

4. 브랜치 사용하기

  • 각자 다른 기능을 맡아서 작업할 때 사용합니다.
  • 각자의 작업이 master 브랜치에 있는 문서들과 섞이지 않도록 새 브랜치를 만들어 버전을 관리합니다.
  • 각 팀원이 만든 새 브런치 역시 원천 저장소에 그대로 push할 수 있습니다.

1. 새로 만든 브랜치 push 하기

# 최신 커밋 가져오기
git pull

# 지역저장소에 브랜치 만들고 체크아웃하기 (-b 옵션으로 브랜치를 만들고 체크아웃을 동시에 가능)
git checkout -b f
# 브랜치에 새로운 파일을 만들고 커밋하기 위해 테스트 파일 만들어서 테스트
vim f1.txt
git add f1.txt
git commit -m "features1"
# 원격 저장소에 f 브랜치 함께 푸시
git push origin f

생성된 브랜치 확인

브랜치 병합하기 - pull request

  • 원격 저장소 파일 목록에는 f 브랜치에서 만들었던 파일이 없습니다.
  • pull request를 통해 병합하여 원격 저장소에 반영하는 작업입니다.

   1) 깃허브 사이트에서 New pull request

New pull request

  2) pull request 메시지를 작성한 후 Create pull request를 누르면 협업 중인 저장소에 풀 리퀘스트가 전송됩니다.

create pull request

 

  3) 협업 중인 풀 리퀘스트는 공동 작업자 중 누구나 살펴보고 병합할 수 있습니다.

  • pull request를 누르면 등록된 풀 리퀘스트 목록이 나타납니다.

pull request

 

  4) 살펴본 후 문제가 없으면 Merge pull request로 병합합니다.

Merge pull request

 

  5) commit message를 직접 입력하거나 기본 메시지를 그대로 사용하여 Confirm merge를 하면 브랜치 병합이 완료됩니다.

comfirm merge

 

6) 마지막으로 브랜치 상태를 확인합니다.

브랜치 상태 확인

 

결론적으로, GitHub를 사용하여 프로젝트를 시작하고 팀원들과의 협업을 위한 세팅 및 브랜치 사용법에 대해 알아보았습니다. 이를 통해 프로젝트의 품질을 향상시키기고 개발 과정을 원활하게 진행할 수 있습니다. GitHub를 적극적으로 활용하여 프로젝트의 성공을 이룰 수 있을 것입니다.

반응형