ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 내가 이해한 git pull request
    내가 이해한/버전관리 2022. 1. 20. 11:59

    아직 git을 제대로 쓸 줄 모른다

    push는 뭔지, pull 은 또 뭐 하는 건지
    branch는 뭐고 pull request는 어떻게 쓰는 거지

     

    일단 기본적인 것만 써보고 필요할 때 기회가 되면 하나씩 해보자는 생각으로

    단순히 main branch에 commit 하며 git을 사용하고 있었다.

     

    그러다 어제 git stash에 대해 알게 되었다.

    local과 remote repository 가 충돌 한걸 해결하기 위해 사용했는데,

    찾아보다 보니 git stash 보다는 문제가 됐던 pyc 파일이 더 궁금해졌다.

     

    pyc 파일이 언제 생성되는지 테스트하기 위해 새로운 branch를 만드는 방법을 찾던 도중

    아래 블로그에서 pull request에 대해 알게 되었다

    https://wayhome25.github.io/git/2017/07/08/git-first-pull-request-story/

     

    git 초보를 위한 풀리퀘스트(pull request) 방법 · 초보몽키의 개발공부로그

    개발을 하다 보면 코드를 여러 개로 복사해야 하는 일이 자주 생긴다. 코드를 통째로 복사하고 나서 원래 코드와는 상관없이 독립적으로 개발을 진행할 수 있는데, 이렇게 독립적으로 개발하는

    wayhome25.github.io

     

    글을 읽다 보니 버전 관리와 협업하기에 좋은 기능이라는 생각이 들어서 바로 찾아봤고,

    위 블로그 게시물과 다른 정보들을 참고하여

    새로운 개발자가 참여 후 pull request까지 하는 과정을 내가 이해한 대로 정리했다

    정리에 사용할 용어 설명도 내가 이해한 대로 작성해봤다

    remote : remote repository. 관리자 계정으로 생성한 repository.
    forked : remote를 개발자 계정으로 fork 하여 개발자 계정에 추가된 repository.
    local : forekd를 개발용 pc에 clone 하여 만든 local repository

     

    1. remote를 개발자 계정으로 접속하여 Fork 한다.
      - private repository 라면 관리자 계정으로 접속하여 개발자 계정을 초대해야 한다
    2. forked를 개발용 pc에 clone 한다.
    3. local에 branch를 생성 후 작업한다
      - 그냥 main에 해도 되는지는 잘 모르겠다
    4. 작업이 끝나면 commit 한 뒤, pull request를 생성한다.
      - pull request는 remote에 생성된다.
    5. 관리자는 개발자의 commit을 merge 한다
      - pull request를 승인하는 것
    6. 개발자는 merge 된 remote를 forked와 local에 반영한다

     

    여기에서 중요한 것은 local의 작업 내용물을 remote에 반영하고

    반영된 내용을 다시 나의 local로 가져오는 부분인 것 같다.

    그래서 개발 결과물을 적용하는 부분만 잊지 않도록 스크린샷으로 남겼다.

    1. 새로운 브랜치를 만들고 작업한 내용을 가져온다. 브랜치를 만든상태에서 작업을 해도 된다.
    2. 방금 생성한 branch 에 commit 한다
    3. local 에만 있는 내 branch 를 forked 로 publish 한다(업로드)
    4. forked 에 publish 되었으니 이제 pull request 를 생성한다
    5.1 pull request 를 생성하는 화면
    5.2 pull request 가 생성된 모습. 이전에 생성 후 완료한것이 4개가 있다.
    6.1 remote 에서 pull request 를 remote 로 merge 할 수 있다.
    6.2 local 에서 생성 후 forked 로 publish 한 branch 를 삭제 할 수 있다.
    7.1 remote 는 완료되었으니 변경사항을 forked 로 가져와야 한다. fetch and merge 를 클릭한다
    7.2 상단에 성공적으로 fetch 되었다는 메시지가 출력되었다.
    8.1 다시 local 로 돌아와서 생성한 branch 를 삭제해줬다. 그리고 fetch origin 을 누르면..?
    8.2 local 의 origin 인 forked 에서 변경사항을 모두 가져온다. 이렇게 하면 끝이다.

     

    이렇게 pull request에 대해서 공부하고 실습해봤다.

    실제 업무에서는 조금 다른 방식으로 사용할 수도 있을 것 같지만

    그건 또 나중에 기회가 생기면 배우는 걸로 하자.

Designed by Tistory.