ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Github 프로젝트에 PR 보내기
    Git 2020. 11. 3. 19:12

    안녕하세요. 그린입니다!

    이번 포스팅에서는 저번에 이어 Github 프로젝트에 풀 리퀘스트(Pull Request) 줄여서 PR을 보내보는 방법을 알아보겠습니다.

    풀 리퀘스트는 프로젝트 협업에도 사용하지만 다른 사람에게 코드 리뷰를 받기에도 좋은 방법입니다.

    그럼 아래 단계별로 PR 보내는 방법을 알아보도록 하죠!

    1. fork

    프로젝트 원본 저장소를 내 계정의 개인 저장소로 복사

    fork

    위와 같이 Github에서 협업하는 프로젝트가 있다면 접속 후 우측 상단 Fork를 눌러 내 개인 저장소로 복사합니다.

    fork된 후 자동으로 내 개인저장소로 옮겨져서 이동이되는것을 확인할 수 있습니다.

    2. clone

    포크를 통해 생성한 개인 저장소를 내 컴퓨터에 받아옵니다. [Code] 버튼을 클릭하고 URL을 복사한 후 터미널에 명령어를 입력합니다.

    clone URL

    git clone https://github.com/깃헙_아이디/저장소_아이디.git (개인저장소 주소)

    3. cd

    프로젝트 디렉터리 경로로 이동

    cd 저장소_아이디

    4. checkout

    현재 로컬에 개인 저장소의 기본 브랜치인 main 브랜치만 존재, 따라서 개인 저장소의 원하는 브랜치를 추적하는 새로운 브랜치를 생성해야합니다. 원하는 브랜치명은 깃헙의 저장소에서 확인 후 진행합니다.

    git checkout -t origin/원하는 브랜치명 (개인 할당 브랜치)

    -t 옵션 : 추적 옵션을 주는것으로 저장소 복제 후 한번만 하면됩니다.

    다음으로, 기능 구현 혹은 파일생성 등 정보 추가를 위해 새로운 브랜치를 생성합니다. (선택사항)

    git checkout -b 새로운 브랜치명

    5. add, commit

    기능 구현 혹은 파일생성 완료 후 작업한 파일을 스테이지에 추가하고 커밋하는 과정입니다.

     1) git add 파일명(또는 전부:*)

     2) git commit -m "커밋메시지"

    6. push

    이전 단계에서 만든 커밋을 개인 저장소에 푸쉬합니다.

    git push --set-upstream origin 새로운 브랜치명 (5번 단계에서 커밋한 브랜치)

    7. Pull Request

    가장 중요한 단계로 푸시를 완료하면 개인 저장소에 [Compare & pull request] 버튼이 활성화 되는것을 확인할 수 있습니다.

    해당 버튼을 클릭하여 풀 리퀘스트를 생성합니다.

    compare & pull request

    간혹 깃헙의 활성화 지연으로 버튼이 나타나지 않는 다면 아래 New pull request 버튼을 눌러 생성 해줄 수 있습니다.

    New pull request

    -. base : 원본 저장소의 원하는 브랜치

    -. compare : 개인 저장소의 기능 구현 및 파일 생성하여 커밋/푸시 한 브랜치

    -. 제목과 작업내역을 입력 후 [Create pull request] 버튼을 클릭합니다.

    8. code review

    풀 리퀘스트를 통해 사용자끼리 코드를 리뷰할 수 있습니다. 만약 피드백온걸 토대로 개선 작업이 있다면 다시 푸쉬합니다.

    9. remote

    풀 리퀘스트를 받아 머지가 완료되게 되면 원본 저장소에 브랜치가 전환되고, 원본 저장소를 upstream이라는 이름으로 추가합니다.

    이 단계는 풀 리퀘스트 최초 머지 후 한번만 수행합니다.

    git checkout 원하는 브랜치명 (개인 할당 브랜치)

    git remote add upstream 원본저장소_URL (포크 받아온 원본저장소)

    10. pull

    로컬 프로젝트를 원본 저장소와 동기화 시킵니다.

    git pull upstream

     

    추가로, 더 기능을 구현할 경우 4번 항목에서 기능 구현 브랜치 생성 단계부터 진행하면 됩니다.

    [부가학습]

    터미널에서 일일히 폴더를 찾아 들어가는 경로를 치기가 힘들때가 많습니다.

    이에 간단한 팁을 공유드립니다~!

    해당 프로젝트를 우클릭한 후 '폴더에서 새로운 터미널/탭 열기' 버튼을 통해 바로 들어갈 수 있습니다.

     

     

    -. git remote -v : 현재 레파지토리 확인

    -. git remote remove origin : 기존 접속 레파지토리 제거

    -. git remote add origin 주소 : 새 레파지토리 추가

     

    PR 작업 시 꼭 개인저장소로 현재 레파지토리가 되어있는지 확인해줘야한다. 안그러면 원본 저장소로 보내려하여 되지 않는다.

     

    오늘은 이처럼 Github를 통해 서로 협업하는 과정에서 중요한 풀 리퀘스트에 대해 알아보았습니다.

    처음에는 깃헙의 화면들이 낯설고 어렵게 느껴지실수 도 있습니다.

    많이 접해보고 노력한다면 익숙해질것으로 더 자주 접해서 좋은 협업이 되길 바랍니다!!

    감사합니다 :D

     

    참고로 깃을 연습할 때 좋은 게임으로 이뤄진 사이트를 소개해드립니다!

    learngitbranching.js.org/?locale=ko

    'Git' 카테고리의 다른 글

    Git 커밋 메시지 변경  (0) 2021.02.16
    git stash 명령어 사용법  (0) 2020.11.16
    Git remote 별칭 추가 및 브랜치 삭제  (0) 2020.11.10
    Git 기초 (2)  (0) 2020.11.02
    Git 기초 (1)  (0) 2020.11.02
Designed by Tistory.