• [git][오픈소스 기여하기] 번역작업 완료 후 PR 생성하기
    개발공부/github 2022. 7. 27. 01:15
    반응형

    - 상황

     kubernetes/website 레파지토리의 dev-1.24-ko.2 브랜치에 기여를 하고싶다. dev-1.24-ko.2브랜치는 지속적으로 PR이 merge 되어 내용이 수정되고 있다.

     

    1. fork

     kubernetes/website 깃허브 레파지토리의 오른쪽 상단에 있는 fork 버튼을 클릭하여 나의 저장소에 kubernetest_website라는 레파지토리를 생성한다.

     

     

    2. clone

     로컬 pc에 clone하여 kubernetes_website 폴더를 생성한다. dev-1.24-ko.2 브랜치에 기여할 것이므로 해당 브랜치만 로컬에 생성하기 위해 -b 옵션(branch)을 붙여준다.

    git clone -b <브랜치명> <레포 주소>
    
    git clone -b dev-1.24-ko.2 https://github.com/kubernetes/website.git

     

    3. git checkout

     로컬의 kubernetes_website의 dev-1.24-ko.2브랜치에서 아래 git 명령어를 실행하여 번역 작업을 할 브랜치를 새로 만들어준다.

    git checkout -b feat-translate

    feat-translate 브랜치로 이동하여 번역 작업을 진행한 후 commit을 완료한다.

     

     

    4. git remote (최초 한 번만 실행)

    현재 로컬에서는 fork된 레파지토리인 onestone9900/kubernetes_website를 origin으로 가지고있다. (git remote -v로 확인가능) 하지만, 원본인 kubernetes/website에 대한 참조는 존재하지 않는다.

     

    아래 git 명령을 실행하여 upstream으로 kubernetes/website에 참조를 만들어준다.

     git remote add upstream https://github.com/kubernetes/website.git

    위 명령이 제대로 실행됐을 경우 아래 git 명령어 실행으로 origin과 upstream이 존재하는걸 확인할 수 있다.

    git remote -v

     

    5. git fetch (upstream의 변경이 있을 때마다 실행)

     만약 upstream(kubernetes/website)의 dev-1.24-ko.2 브랜치에 변경이 발생하여도, 로컬의 kubernetes_website의 dev-1.24-ko.2 브랜치에는 반영되지 않는다. upstream에서 dev-1.24-ko.2브랜치의 내용을 받아오기 위해, 아래 git 명령어를 실행한다.

    git fetch upstream dev-1.24-ko.2

    위 명령이 제대로 실행됐을 경우 아래 git 명령어 실행으로 upstream/dev-1.24-ko.2 브랜치를 추적할 수 있는것을 확인할 수 있다.

    git remote show upstream

     

    6. git rebase

      upstream/dev-1.24-ko.2를 추적 가능하도록 설정되었으므로, 아래 git 명령어를 사용하여 로컬 dev-1.24-ko.2 브랜치와 feat-translate의 내용을 upstream/dev-1.24-ko.2을 기반으로 commit tree가 만들어질 수 있게 rebase 해준다.

     git rebase upstream/dev-1.24-ko.2

    번역작업을 위한 feat-translate 브랜치와 dev-1.24-ko.2 브랜치에서 각각 한번씩 위의 git 명령어를 실행시켜준다.

     

    7. push

      로컬의 dev-1.24-ko.2 브랜치와 feat-translate 브랜치를 github 서버의 onestone9900/kubernetes_website에 push 해준다.

     

    8. Pull Request

     github 서버의 onestone9900/kubernetes_website에서 번역작업을 진행한 feat-translate 브랜치를 kubernetes/website의 dev-1.24-ko.2 브랜치로 PR을 생성한다.

     

    9. 리뷰어가 리뷰를 완료해줄 때까지 기다리자.

    예시)

    PR 링크

     

    [ko]Translate website/content/en/docs/reference/glossary/horizontal-pod-autoscaler.md into Korean by onestone9900 · Pull Reques

    Resolves #35352 /language ko

    github.com

     

    10. 리뷰가 추가되어 PR을 수정해야 할 경우

      위 "8. Pull Request"에서 열었던 PR은 feat-translate 브랜치의 변경점을 계속적으로 반영하고 있다. 그렇기 때문에 onestone9900/kubernetes_website의 feat-translate브랜치에 변경이 일어나면, PR에 그대로 반영된다.

     

     로컬 pc의 feat-translate 브랜치에서 추가 작업 commit 후 onestone9900/kubernetest_website로 push하면, 수정 내역이 PR에 반영된다.

    예시) PR링크

    리뷰를 반영하여 "modify: 경어체를 평어체로 변경" commit을 push했다.

    반응형

    댓글

Designed by Tistory.