본문 바로가기

GIT

GIT - pull-request

1.gitBash관리

 

(1) - 최초 이 상태에서

(2) - x.txt를 생성한 상태로 git add 후 git commit "x"로 새로운 버전을 만들었다

    - 그리고 github의 원격저장소와 연결한 후 push를 했다

(3) - push한 이후 의 git log 상태

(4) - x.txt의 내용을 x2 로 채운 x2버전

    - x.txt의 내용을 x2, x3로 채운 x3버전

    - x.txt의 내용을 x2, x3, x4로 채운 x4버전(최종버전)을 모두 commit한 상태

(5) - 그리고 다시 원격저장소로 git push를 했는데 아래와 같은 메세지가 나오며 원격저장소를 새로고침해봐도 

      push된 상태가 적용되지 않았다 

    - 아래 메세지중 링크가 바로 pull requset 주소이며

      원격저장소입장에서는 기존에 내가 가지고 있던 master 브런치의 버전이 아닌

      X라는 새로운 브런치의 버전이 자신에게 Push되어 들어오니까 받아들여서 덮어씌우기 전에 pull request로

      협업자들의 의견을 듣겠다는 것이다

 

(6) - (origin/X)내가 만든 X브런치를 orgin원격저장소로 push를 햇다는 뜻

 

2.gitHub pull-request 관리

 

(1) - 이제는 우리가 직접 pull request를 만들어서 다른사람에게 내가 짠 코드의 문제가 없는지를 컴토해 줄 것을 요청하고 병합할 권한이 있는 사람에게 병합해 달라고 요청하는 기능을 실행해보자

 

우리가 브랜치를 만들어서 push를 하게되면 브랜치를 만든사람에게 아래와 같은 compare & pull request 라는 버튼이 생긴다

 

(2) - 버튼을 누르면 아래와 같은 창이 뜬다 push한 버전의 특이사항을 적는다

 

(3) - 그럼 pull-request목록에 올라가고 해당 버전의 commit history와 해당 버전의 최종 변경사항등을 볼 수 있다

 

(4) - 이제 관리자가 해당 버전을 받아들이기로 마음먹었다면 아래와 같이 Merge or  Squash and Merge or Rebase and Merge 중 하나를 선택하여 기존 버전에 pull-request버전을 합병하게 된다

*위 세가지의 합병방식 간의 차이는 아래사이트를 참조 :

meetup.toast.com/posts/122

opentutorials.org/course/4587/29486   

 

(5) -  셋중 하나의 방법으로 기존원격저장소의 버전과 합병하기 전에 만약 소통으로 인해 pull-request에 올라온 버전을  수정하거나 충돌이나서 충돌을 해결하거나등의 변경사항이 있어서 github 홈페이지상에서 코드를 수정했다면  우리의 작업공간에 git pull 명령어를 통해 github홈페이지에서 변경한 코드의 변경사항을 확인 할 수 있다

즉 기존에 우리가 pull-request를 위해 push한 버전에 git pull을 하여 어떻게 코드가 변경되었는지를 확인 할 수 있다

  *이와 관련하여 pull-request로 협업시 소통하는 방법은 아래 사이트를 참조 : 

opentutorials.org/course/4587/29483

opentutorials.org/course/4587/29485  

 

 

(6) - 합병진행완료!

 

 

*tip) 상단의 Pull requests -> New pull request를 통해 수동으로 pull-request를 등록 할 수도 있다!

'GIT' 카테고리의 다른 글

GIT - rebase  (0) 2020.12.12
GIT - cherrypick  (0) 2020.12.12
GIT - clone, pull,fetch  (0) 2020.12.12
GIT - backup, push  (0) 2020.12.12
GIT - branch(3 way merge)  (0) 2020.12.11