[Git] Git으로 협업하기
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 코드 변경하기(팀원)
그냥 똑같이 진행하면 된다.
git add .
git commit -m "커밋 메세지"
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 branch
③ 브랜치 이동 명령어
git checkout 브랜치이름
혹은
git switch 브랜치이름 /* 주로사용 */
④ 브랜치 한 번에 생성 & 이동
git checkout -b 브랜치이름
혹은
git switch -c 브랜치이름
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 정리
- 브랜치 생성 및 이동
- 기능 개발 및 코드 저장
- 코드 업로드 및 Pull request 생성
- Github에서 merge
- 내 로컬에도 반영 (ex)
git pull origin main
4. 협업 실전 가이드
4.1 협업시 팀장 가이드
① 초기 세팅
초기 코드 작성 및 github 업로드
- 폴더 생성
- 초기 코드 작성
git init
,add
,commit
- Github 레포지토리 생성
- 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
- dev브랜치로 이동 (
- 다음 기능 개발
- 기능 브랜치 생성 및 코드 작성
- add, commit, push
- Pull request생성 및 코드 리뷰
- 내 로컬에서 충돌 해결 및 테스트
- 코드 업로드 및 merge
댓글남기기