ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [GitHub] 협업에서 브랜치 사용하기
    Git&GitHub/GitHub 사용방법 2022. 5. 18. 15:35
    728x90

    협업을 하다 보면 팀원들이 각자 다른 기능을 맡아서 작업하는 경우가 많습니다. 팀원 1은 '기능 A'를 만들고, 팀원 2는 '기능B'를 만드는 것처럼 말이지요. 이럴 때는 각자의 작업이 master 브랜치에 있는 문서들과 섞이지 않도록 새 브랜치를 만들어서 버전을 관리합니다. 그리고 각 팀원이 만든 새 브랜치 역시 원격 저장소에 그대로 푸시할 수 있습니다.

     

    <새로 만든 브랜치 푸시하기>

     

    여기에서는 '팀장'이 새로운 기능을 만들기 위해 자신의 지역 저장소에 f라는 브랜치를 만들고 커밋한 다음 원격 저장소에 푸시하는 과정을 살펴보겠습니다.

     

    1. 원격 저장소에 다른 팀원들의 커밋이 추가되어 있는지 확인하기 위해 먼저 git pull 명령을 사용해 최신 커밋 정보를 가져옵니다.

     

    $ git pull

     

    2. 새로운 기능을 구현하기 위해 지역 저장소에 브랜치 f를 만들고 f로 체크아웃합니다. git checkout 명령에 -b 옵션을 사용하면 브랜치를 만들고 체크아웃하는 것을 한꺼번에 할 수 있습니다.

     

    $ git checkout -b f

     

    3. f브랜치로 체크아웃했다면 빔을 사용해 f1.txt문서를 만든후 커밋합니다. 커밋메시지는 'feature1'이라고 하겠습니다.

     

    $ vi f1.txt

    $ git add f1.txt

    $ git commit -m "feature1"

     

    4. 원격 저장소에 f 브랜치까지 함께 푸시해야겠죠? git push 뒤에 origin f를 추가하면 원격 저장소(origin)에 f 브랜치를 푸시한다는 의미입니다.

     

    $ git oush origin f

     

    5. 푸시가 끝났다면 웹 브라우저에서 원격 저장소로 접속해보세요. 저장소 파일 목록 위에 2 branches라고 되어 있습니다. 눌러보면 방금 푸시한 브랜치가 나타납니다.

     

     

    <풀 리퀘스트로 푸시한 브랜치 병합하기>

     

    아직 원격 저장소의 파일 목록에는 f 브랜치에서 만들었던 f1.txt 파일이 없습니다. 푸시한 브랜치는 풀 리퀘스트(pull request)를 통해 병합해야 원격 저장소에 반영되기 때문입니다. 풀 리퀘스트하는 과정을 알아보겠습니다.

     

    1. 브랜치 설명 옆에 있는 [New pull request]를 클릭.

     

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

     

    3. 협업 중인 원격 저장소에 등록된 풀 리퀘스트는 공동 작업자 중 누구나 살펴보고 병합할 수 있습니다. 저장소 파일 목록 위의 [Pull request]를 누르면 등록된 풀 리퀘스트 목록이 나타납니다. 등록된 풀 리퀘스트를 누릅니다.

     

    4. 풀 리퀘스트 메시지를 살펴본 다음 내용에 문제가 없으면 [Merge pull request]를 눌러 병합합니다. 필요하다면 이 공간을 통해 풀 리퀘스트를 남긴 사람과 메시지를 주고받을 수도 있습니다.

     

    5. 커밋 메시지를 직접 입력하거나 기본 메시지를 사용할 수도 있습니다. [Confirm‎ merge]를 누르면 브랜치 병합이 끝납니다.

     

    6. 브랜치가 병합되면 해당 브랜치에 있던 파일이 master 화면에 나타날 것입니다. 브랜치 상태를 알고 싶다면 파일 목록 위에 있는 '2 branches'를 눌러보세요

     

    7. 브랜치가 병합된 상태라면 'merged'라고 표시되어 있습니다. 그리고 공동 작업자 중 누가 브랜치를 병합했는지도 알 수 있습니다.

     

    8. 깃허브에서 협업할 때는 보통 작업자마다 브랜치를 만들어서 진행하고, 작업 중간중간 풀 리퀘스트를 보내서 master 브랜치에 병합합니다. 그래서 깃허브로 협업할 때는 다른 작업자의 변경 내용을 바로 반영하기 위해 항상 풀(pull)부터 한 다음 자신의 작업을 진행하는 것이 좋습니다.

    728x90

    댓글

Designed by Tistory.