GitHub 공용 레포지토리, 브랜치 사용법

티라노·3일 전
0

Today I Learned

목록 보기
21/21

들어가기

오늘은 팀프로젝트에 대비하여 GitHub에서 branch를 나누고 공용 레포지토리에 접근하는 절차를 정리해보자.


Pull Request란?

Pull은 원격 레포지토리에서 작업 영역으로 데이터를 가져오는 명령어이다.

Pull Request 는 이와 반대로 작업 영역에서 원격 레포지토리로 데이터를 가져다줘야 할 때, 제 쪽에 변경사항이 있습니다! 원격에서 Pull 을 해주세요!
하고 요청하는 것을 의미한다. 줄여서 PR이라고 부른다.

1) 공용 저장소 Fork 하기

Fork 란 이미 존재하는 저장소의 내용을 그대로 가져와서 새 개인 저장소를 만드는 것을 뜻한다.

내 저장소의 소속 : 나
공용 저장소의 소속 : organization

공용 레포지토리를 Fork 하여 개인 저장소를 생성한다.

레포지토리 메인 화면에서 Fork 버튼을 클릭한다.

사진과 같이 개인 저장소로 공용 레포지토리의 포크를 생성할 수 있다.


2) Fork한 개인 저장소를 로컬 저장소에 clone 하기

Fork한 저장소의 URL을 이용해서 PC의 작업 환경에 폴더를 내려받는다.
파일을 두고 싶은 위치에 가서 아래 터미널을 열어 아래 코드를 입력하면 된다.

$ git clone [url]
예시 : git clone https://github.com...


3) 원격 저장소 등록하기

Fork한 저장소를 작업 환경에서 원격 저장소로 등록한다.
이 때 브랜치 이름은 main, master를 제외한 것으로 정하면 좋다.

$ git remote add [로컬 저장소 이름]


4) branch 생성

로컬 환경에서 작업하기 위한 branch를 생성한다.

공용 저장소에 직접 작업하지 않고 Fork한 저장소에서 PR을 보내는 간접 방식을 선택하면 branch를 나누지 않아도 원본 저장소의 main/master에 커밋 실수를 할 일이 별로 없다. 사실 이 점이 Fork를 이용하는 이유 중 하나이기도 하다.

그래도 작업 분기를 나눠주면 좋으니까 적극적으로 활용해보자.

$ git branch [name] // 브랜치 생성
$ git checkout [name] // 브랜치로 이동
$ git checkout -b [name] // 브랜치 생성 & 이동


5) 작업 및 push

개인 환경에서 작업할 때와 동일하게 본인의 레포지토리와 브랜치에 변경된 점을 push하며 진행한다.


6) Pull Request

Fork한 레포지토리에서 원본 레포지토리로 Pull Request를 보낸다.

상단에 main 브랜치(원본)와 main 브랜치(Fork)로 서로 비교할 브랜치를 명시하고 있다. 지금은 변경사항이 없어서 아무것도 안 보이지만, 코드를 작성한 다음 Create Pull Request 를 클릭하면 원본 저장소로 Pull을 요청할 수 있다.

PR을 남길 때는 적절한 코드 설명을 덧붙여야 다음 단계인 코드 리뷰가 수월해진다.


7) 코드 리뷰 및 merge

원본 레포지토리 -> Pull requests로 이동하면 받은 PR 목록을 볼 수 있다.

여기에서 변경사항을 확인하고 문제가 없을 것 같으면 저장소에 merge하며, 무언가 수정할 점이 있다면 코멘트를 달거나 PR을 거절할 있다.

이 때 merge란 작업 분기를 나누어둔 브랜치가 더이상 수정할 필요 없이 완벽해서 main 또는 상위 작업 분기에 합치는 행위를 뜻한다.

중요한 점

  • 틈날 때마다 pull해서 원본 레포지토리와 내 로컬 영역의 코드끼리 버전 차이가 크지 않게 한다.
  • PR을 보낼 때는 수정한 내용을 잘 설명하는 코멘트를 첨가해야 한다.
  • 작업 분기를 다양하게 나눠보자.

0개의 댓글