5장. 깃허브로 협업하기
서로 다른 컴퓨터에서 원격 저장소 함께 이용하기
원격 저장소 복제하기 – git clone
- 복제한다(클론 or 클로닝): 원격 저장소를 지역 저장소로 똑같이 가져오는 것.
1
$ git clone 원격 저장소 주소 .
집에 있는 컴퓨터에서 작업하고 올리기
1
2
$ git commit -am "add C"
$ git push
회사 컴퓨터에서 내려받아 작업하기
⭐하나의 원격 저장소에 지역 저장소가 2개 이상 연결되어 있을 때, 지역 저장소에서 작업하려면 원격 저장소의 변경 사항을 먼저 가져와야 한다!
1
2
3
$ git pull(git fetch + git merge origin/main)
$ git commit -am "add d"
$ git push
원격 브랜치 정보 가져오기
원격 저장소의 최신 커밋을 무조건 합치지 않고 원격 브랜치에서 어떤 변화가 있었는지 그 정보만 가져온 후 필요한 커밋만 합칠 수 있음!
커밋과 브랜치 이해하기
- (Head -> main): 이 커밋이 지역 저장소의 최종 커밋이라는 의미
- (origin/main): 원격 저장소의 최종 커밋이라는 의미
원격 브랜치 정보 가져오기 – git fetch
- fetch: 원격 저장소의 정보를 가져옴.
1
2
3
$ git fetch
$ git diff HEAD origin/main
$ git merge origin/main
협업의 기본 알아보기
협업과 브랜치
- 브랜치: 브랜치란 main 브랜치와 구분짓는 작업을 하기 위해 코드를 분리하는 것(분기)
협업 과정
1단계: 협업을 위한 저장소를 만듭니다.
2단계: 팀원을 추가합니다(작업할 팀원들을 공동 작업자로 추가)
3단계: 브랜치별로 커밋하고 푸시합니다(풀과 푸시 반복)
4단계: 풀 리퀘스트(main 브랜치에 병합해 달라고 요청)를 요청합니다.
5단계: 코드 리뷰 & 브랜치 병합
원격 저장소에서 협업하기
협업을 위한 저장소 만들기
- Readme 파일을 만들면 main 브랜치가 만들어짐.
공동 작업자 추가하기
- 팀장이 manual 저장소에서 [Settings]를 클릭
- [Collaborators]를 선택한 후 [Add People]을 클릭
- 이메일 주소 선택해서 추가
프로젝트 관리하기 – 팀장 역할
- 새로운 프로젝트 생성. 여러 메뉴 중 [Profects] 선택. [New Project]를 선택.
- ‘프로젝트 보드’라고 하는 프로젝트 관리 도구를 다양하게 지원함. [Featured] 항목에는 자주 사용하는 도구들이 나열되어 있다. 팀 플래닝을 이용할거니 [Team Planning]을 선택
- 프로젝트 이름을 입력하고 [Create Project]를 클릭
- [Todo]에 있는 [Add item]을 클릭.
- 해야할 일 항목 위로 마우스 포인터를 올려놓아 [Convert to issue]를 선택
- 이슈를 할당할 저장소를 선택.
- 이슈가 등록되었으니 이슈 화면으로 이동. [Open in new tab]을 선택.
- 일을 할당함.
브랜치 만들기 – 팀원 역할
- 만들어 놓은 저장소로 방문. [Projects]탭을 클릭.
- ‘사이트 제작하기’라는 프로젝트를 선택.
- [Todo]열에 나열된 작업에는 할당된 작업자의 깃허브 계정이 표시되어 있다. [Open in new tab]을 선택.
- [Create a branch]링크 선택
- 브랜치 이름 선택 후 [create branch]클릭.
지역 저장소에서 작업하고 푸시하기
- ”$ git clone 원격 저장소 주소”를 입력해서 원격 저장소와 연결
- VS Code 터미널 창에서 “$ git switch plan”을 입력해 plan 브랜치를 만든 후 전환(깃허브에는 plan 브랜치를 만들었지만 지역 저장소에는 아직 plan 브랜치가 없다.)
- plan 브랜치가 새로 만들어지면서 원격 저장소의 plan 브랜치와 연결. 이것을 지역 브랜치와 원격 브랜치를 트래킹(tracking)한다고 한다.
- 수정후 커밋하고 푸시!
❗원격 저장소에 없는 브랜치로 푸시하려면?
1
git push -u origin 브랜치명
풀 리퀘스트 요청하기
- [main]을 클릭한 후 [plan]을 선택해서 plan 브랜치로 이동
- [Compare & pull request]를 클릭
- 적을 것 다 적고, [Create pull request]를 클릭
풀 리퀘스트 검토하고 브랜치 병합하기 – 팀장/리뷰어 역할
제대로 작업했다면 main 브랜치로 병합하고, 수정하거나 추가할 부분이 있다면 해당 내용을 기록하고 재작업하도록 할 수 있다.
- [Pull requests]탭을 클릭
- 진행 중인 풀 리퀘스트는 Open 이라 하고, 처리된 풀 리퀘스트는 Closed 되었다고 한다. 처리할 풀 리퀘스트 제목을 클릭
- [Conversation] 탭에는 작업자가 남긴 메시지를 봄. 풀 리퀘스트에 [Open]이라고 현재 상태가 표시.
- 현재 커밋을 병합해도 되겠다고 생각한다면 [Conversations]탭에 있는 [Merge pull request]를 클릭.
- [confirm merge]를 클릭.
- 쓰지 않는 branch를 [Delete branch]를 이용해서 삭제.
⭐나중에 삭제한거 되돌리고 싶다면, 풀 리퀘스트 화면으로 돌아와 [Restore branch]를 클릭해서 되돌릴 수 있다.
This post is licensed under CC BY 4.0 by the author.