HyeGyeong
HyeGyeong 프로그래머를 꿈꾸며 JavaScript 공부 중

Git remote를 이용한 협업 방법

Git remote를 이용한 협업 방법

페어프로그래밍을 좀 더 편하게 할 수 있는 방법이 있을까?

나는 현재 코드스테이츠 Immersive 과정을 진행하고 있다.

아침 9시부터 저녁 8시까지 반드시 학원에 머물면서 코딩공부를 해야하는데 이곳에서 자주 들은 말이 코딩을 잘 하는 개발자보다 협업을 잘 하는 개발자를 현업에선 선호한다는 얘기였다.

그래서 페어프로그래밍을 거의 매일 하고 있는데 귀찮은 부분이 생겼다.

페어프로그래밍이란?

애자일 개발 방법론 중 하나로, 하나의 개발 가능한 PC에서 두 명의 개발자가 함께 작업하는 것을 말한다. 네비게이터(Navigator)가 전략을 제시하고 드라이버(Driver)가 실제 코드를 작성하며 이 역할을 각자 번갈아가며 수행한다. 지식공유, 업무에 대한 집중도 상승, 코드리뷰 및 개발 방향의 지속, 팀원에 대한 장단점 체크 등의 장점이 있다.

역할을 바꿀 때 그 동안 함께 진행한 코드를 공유하는 방법!!

내가 했던 방식은 다음과 같다.

  1. Driver의 코드를 카피한다.
  2. 슬랙, 카카오톡 등의 메신저로 공유한다.

원초적인 방법이다. 눈 아프게 확인하며 진행해야하고 혹시라도 역할 체인지를 자주 한다고 하면 복붙을 많이 해야한다.

그래서 더 편하게 할 수 있는 방법이 없을까 고민하다 엔지니어님께 들은 방법이 있다. 더 개발자 스럽게 공유한다 하면 생각나는 곳? 바로 GitHub!

git remote를 이용한 협업 방법을 정리해본다.

Git remote Overview

walking

git remote는 간단하게 얘기하면 내 repository가 아닌 다른 repository에 접근해서 데이터를 가져오는 것이다. 위의 그림에서처럼 내 저장소에서 Central Repo와 다른 Repo를 접근할 수 있다.

git remote 명령어 정리

1
2
3
4
5
6
7
8
git remote // 현재 연결된 repo 리스트(간단하게)
git remote -v // 현재 연결된 repo 리스트(자세하게)
git remote add <name> <git url>
    // <name> = remote repo의 이름. 페어프로그래밍 할 때 보통 'pair'라고 지었다.
    // <git url> = remote 연결할 git hub 주소
    // Ex) git remote add pair http://dev.example.com/pair.git
git remote rm <name> // remote repo 삭제
git remote rename <old-name> <new-name> // <old-name> = 현재 repo 이름, <new-name> = 바꿀 이름

git remote로 연결했으면 이제 그 repo의 데이터를 가져올 수 있다.

1
2
git pull <name> <branch-name>
// Ex) git pull pair master

또는 push도 가능하다. 하지만 우리가 직접적으로 push하는 일은 거의 없고 pull request를 날려서 관리자가 체크 후 merge해주는 방식이 더 많이 사용될 것이다. 왠만하면 내 repo가 아닌 경우엔 git push 하지 마라.

1
2
git push <name> <branch-name>
    // Ex) git push pair master