3 분 소요


1. Git으로 협업하기

1.1 협력자(collaborator) 등록하기

① Github 레포지토리 → Settings → Collaborators → Add people클릭 레포지토리 만든 사람이 해야한다. (팀장)


② 팀원들의 username혹은 email로 추가 => 초대 수락해야 한다.


1.2 git clone

Github 레포지토리의 코드를 복사해오려면 git clone을 하면 된다.


① Github 레포지토리에서 github 주소를 복사한다.


② 코드를 작성할 폴더를 만들어 준 후, vs code에서 해당 폴더를 열어준다.

git clone <github 주소> .명령어를 입력해준다.
뒤에 점(.)빼먹지 말기! → 폴더가 안에 또 생성된다. (경로가 달라짐)


1.3 코드 변경하기(팀원)

그냥 똑같이 진행하면 된다.

  1. git add .
  2. git commit -m "커밋 메시지"
  3. git push origin branch이름


1.4 git pull

다른 사람이 변경한 코드 가져오려면 git pull을 하면 된다.

  • 다른 사람이 이미 git push하고 내가 git push 하려고 하면 발생하는 에러 → git pull 먼저 하면 된다.


  • git pull시 아래와 같은 경고문이 뜬다면?



    ① 터미널에 git config pull.rebase false 명령어 입력 후

    git pull origin main 명령어 입력



2. 브랜치 활용하기

2.1 브랜치 활용 명령어

# 브랜치 생성
git branch <브랜치명>

# 브랜치 이동
git switch <브랜치명>  or  git checkout <브랜치명>

# 생성과 동시에 이동
git switch -c <브랜치명>  or  git checkout -b <브랜치명>

# 브랜치 리스트 확인
git branch

# 브랜치 삭제 (삭제를 하기 위해선 다른 브랜치로 전환 후 삭제해야 한다.)
git branch -d <브랜치명>   # 안전 삭제
git branch -D <브랜치명>   # 강제 삭제


2.2 브랜치 이동 후 코드 작성

똑같이 git add . > git commit -m "커밋 메시지"


2.3 브랜치를 main에 합치기

최종 브랜치로 이동 후, 합칠 브랜치 이름을 써주면 된다.

git switch 최종 브랜치 이름

git merge 합칠브랜치이름



3. Pull Request 활용하기📌

3.2 Pull Request 사용

⚠️ 협업할 때 git merge 잘 안쓴다고 한다!! 터미널 말고 github에서 합치는 경우가 많다.


Github에서 합치는 이유는? → 코드 리뷰를 하기 위해서!


Github에서도 어떻게 merge가 가능할까? → Pull Request(PR) 사용!

pull: 당겨서 합치는 것(merge) + Request: 요청하다 => 합치는 것을 요청하다.


① 자신이 작업중인 브랜치에서 git push origin <브랜치명> 후 github에 업로드한다.

② 그 후 Github로 이동하고 “Compare & pull request” 버튼을 눌러준다.


③ “Create pull request” 버튼을 누르면 request가 생성된다.


④ 생성된 request는 Pull request 탭에서 확인할 수 있다.
Merge 버튼을 누르면 최종 브랜치에 합쳐진다.


⑤ Merge 결과


⑥ Merge 후 git checkout <브랜치명>으로 로컬 main브랜치로 이동한다음, git pull origin <브랜치명>을 하면 내 로컬에도 github 코드가 반영이 되는 것을 확인할 수 있다!


3.3 정리

  1. 브랜치 생성 및 이동
  2. 기능 개발 및 코드 저장
  3. 코드 업로드 및 Pull request 생성
  4. Github에서 merge
  5. 내 로컬에도 반영 (e.g., git pull origin main)



4. 협업 실전 가이드

4.1 협업시 팀장 가이드

① 초기 세팅

초기 코드 작성 및 github 업로드

  1. 폴더 생성
  2. 초기 코드 작성 git init, add, commit
  3. Github 레포지토리 생성
  4. Github 초기 코드 업로드 (git push)


② dev 브랜치 생성

개발용 브랜치 develop(dev)를 생성해서 배포 전(main 브랜치에 합치기 전) 테스트를 해서 충돌 여부 등을 확인하는 것이 좋다.

브랜치 설명
main 브랜치 배포용
dev 브랜치 테스트용
기능 브랜치 기능 개발용


dev 브랜치 생성 후 push 하면 Github에도 반영이 된다.

git switch­ -c dev // 로컬에서 dev브랜치 생성
git push origin dev // Github에도 반영


③ Github에서 dev브랜치를 default로 설정

pull request의 base 브랜치를 dev로 설정하여 팀원들이 clone을 할 때 dev 브랜치를 clone하게 할 수 있다.


④ 팀원들을 collaborator로 등록


4.2 협업시 팀원 가이드

git clone으로 코드 복제

VS code로 폴더 연 후 git clone 주소 .


② 코드 수정 및 저장 후 코드 업로드

코드 업로드 안될 땐 git pull 진행 후 git push


4.3 기능 개발 시작

① 기능 브랜치 생성 및 기능 개발

② Pull request 생성


③ 코드 작성자: 리뷰 요청하기


④ 코드 리뷰어: 리뷰하기


⑤ merge 전(합치기 전) 내 로컬에서 충돌 해결 및 테스트 기능 브랜치에서 git pull origin dev
pull 후 아래와 같이 충돌이 발생한다면,

<<< HEAD,===,>>> 이런것 지우고 push 하면 다시 Github에서 marge 버튼이 활성화 될 것이다!


⑥Github에서 marge하기


4.4 추가 기능 개발

① 내 로컬의 dev에도 변경 사항 반영

  • dev브랜치로 이동 (git check out dev 혹은 git switch dev)
  • 그 후 git pull origin dev


② 다음 기능 개발

  • 기능 브랜치 생성 및 코드 작성
  • add, commit, push
  • Pull request생성 및 코드 리뷰
  • 내 로컬에서 충돌 해결 및 테스트
  • 코드 업로드 및 merge


4.5 정리


카테고리:

업데이트:

댓글남기기