개발관련/Git

Git 브랜치를 마스터로 병합하는 가장 좋은 (가장 안전한) 방법

Rateye 2021. 9. 17. 11:34
728x90
반응형
질문 : Git 브랜치를 마스터로 병합하는 가장 좋은 (가장 안전한) 방법은 무엇입니까?

master 에서 새 브랜치가 생성되면 test 라고합니다.

master 하거나 다른 브랜치를 생성하고 나중에 master 로 병합하는 여러 개발자가 있습니다.

test 작업에 며칠이 걸리고 master 내부의 커밋으로 test 를 지속적으로 업데이트하고 싶다고 가정 해 보겠습니다.

test 에서 git pull origin master 할 것입니다.

 

질문 1 : 이것이 올바른 접근 방식입니까? 다른 개발자는 내가 btw에서 작업 한 것과 동일한 파일로 쉽게 작업 할 수 있습니다.


test 에 대한 내 작업 master 다시 병합 할 준비가되었습니다. 내가 생각할 수있는 두 가지 방법은 다음과 같습니다.

A:

git checkout test
git pull origin master
git push origin test
git checkout master
git pull origin test 

B:

git checkout test
git pull origin master
git checkout master
git merge test

--rebase 사용하지 않습니다. 왜냐하면 내 이해에서 rebase는 master 에서 변경 사항을 가져오고 그 위에 스택 내 다른 사람들이 만든 변경 사항을 덮어 쓸 수 있기 때문입니다.

 

질문 2 : 이 두 가지 방법 중 어느 것이 옳은가? 차이점은 무엇입니까?

이 모든 것의 목표는 master 에서 일어나는 일로 test 브랜치를 업데이트하고 나중에 타임 라인을 가능한 한 선형으로 유지하기 위해 master 로 다시 병합 할 수 있습니다.

답변

어떻게 할 것인가

git checkout master
git pull origin master
git merge test
git push origin master

원격 지점에서 로컬 지점이있는 경우이 지점이 아닌 다른 지점을 원격 지점과 병합하는 것이 불편합니다. 또한 내가 푸시하고 싶은 것에 만족할 때까지 변경 사항을 푸시하지 않을 것이며 또한 전혀 푸시하지 않을 것입니다. 이는 저와 제 로컬 저장소에만 해당됩니다. 당신의 설명에서 그 test 는 당신만을위한 것 같습니까? 그래서 그것을 출판 할 이유가 없습니다.

git은 항상 당신과 다른 사람들의 변화를 존중하려고 노력하므로 --rebase . 적절하게 설명 할 수 없다고 생각 하므로 Git 책-Rebasing or git-ready : Intro into rebasing for a little description. 아주 멋진 기능입니다

출처 : https://stackoverflow.com/questions/5601931/what-is-the-best-and-safest-way-to-merge-a-git-branch-into-master
728x90
반응형