https://www.youtube.com/watch?v=uvsz2XgRPfM&t=82s
svn을 떠난
git린이는
개발을 시작했다...!
그중 한가지 개념이 확실히 잡히지 않았던것이... pull request의 기능이다. 왜 로컬에서 기능적으로 머지가 가능한데.. 왜 리모트 서버에 pull request를 날려야 하는걸까..?
pull request(git hub) && merge request (git lab) - 머지 리퀘스트가 좀 더 와닿는다.
왜
PR를 날리나요?
내가 작업한 브랜치를 다른 브랜치에 합친다.
pull request를 하는 가장 간단한 이유는 내 작업물을 stable branch에 합치기 전에.. 다른사람들의 조언/검토를 받기위해 올리는것...!
예를
들어서
marster branch (검증된 코드만 모여있는 브랜치), exp branch가 있다고 가정하자.
exp branch에서 대부분의 작업을 진행하고, 이제 master branch로 병합 하려고 한다...!
pull request 의
2가지 종류
1) 원격 저장소가 접근할 수 있는 직접적인 권한이 있는경우 -> branch를 병합할때 사용한다! 다른사람의 의견을 받고싶을때 사용. 지금 현재 프로젝트에서 사용하고 있는 방식!
branch를 새로 따서 작업을 다 하면 코드커밋을 통해 pr를 생성한 후, 코드리뷰를 거쳐서 배포관리자가 master branch로 머지한다.
2) 원격저장소가 오픈소스. read만 가능한경우! original repo를 fork 하면 내 원격 저장소를 가진다. original에도 코드를 배포하고 싶으면, original repo에 pr를 날린다.
Topic Branch
feature Branch
에서 작업하고, PR 만들어보기.
코드를 수정하고 push를 날리면.
버튼을 클릭하면
Reviewers : 의견을 줬으면 하는사람!
pull request와
draft pull request
draft pull request -> 병합이 되진 않고 리뷰만 요청한다.
원격 저장소에서
merge를 완료후 pull 하면..!
위와 같이 branch가 머지된것을 확인 할 수 있다.
약간 원격 저장소에 어떠한 동작을 위임하는 느낌임. 그리고 원격저장소의 그러한 권한은 코드관리자가 가지겠지...!
원치않은 충돌을
해결하는법
상황가정
branch1 에서 작업후 branch1 push & merge request & master branch에 머지 성공 했는데,
이후에 branch2에서 작업 후 merge request를 날리는 과정에서 충돌이 발생했다!
충돌의 해결방법
git fetch origin
git checkout -b number-to-alphabet-4 origin/number-to-alphabet-4
/* 충돌 사항을 해결한다. */
git merge master
a) 더 많은 충돌이 발생하기 전에 문제의 branch로 이동한다.
b) 문제의 branch에 master를 merge 한다.
c) HEAD가 현재 branch의 수정내역임.
d) 직접 손으로 머징 이후.. git add + git commit + push
e) 충돌이 발생하지 않는다 :)
!! 이때 직접 PR를 날려서 원격저장소에서 머지를 할 수도 있지만,
master branch로 이동해서 number-to-alphabet-4를 병합하는것도 방법이다. ==> fastforward! 머지 커밋이 생성되지 않는다.
--no--ff :: no fastforward --> 무조건 머지 커밋을 만들어라! (권장)
이렇게 머지하면 pull request가 자동으로 닫히게 된다. 와 신기하다.
'Today I learned' 카테고리의 다른 글
2021 06 01 git린이의 모험 - 충돌이 발생하는 이유 (0) | 2021.06.01 |
---|---|
2021 05 31 - git린이의 모험 reset & revert (0) | 2021.05.31 |
2021 05 26 - github Action 맛보기 (0) | 2021.05.26 |
2021 05 25 - 이슈 수정을 위한 무한스크롤 연구 (2) (0) | 2021.05.25 |
2021 05 04 - 이슈 수정을 위한 infinite scroll 연구 (1) | 2021.05.04 |
댓글