마스터와 개발 브랜치 사이의 "git pull"또는 "git merge"
나는이 master
지점과 develop
몇 가지 변경 작업에 대한 분기를. 에서 master
로 변경 사항을 병합해야 develop
하지만 결국 모든 것을에서 develop
로 병합 master
합니다. 두 가지 다른 워크 플로를 염두에두고 있습니다.
git pull origin master
에develop
지점git merge master
에develop
지점
이를 수행하는 가장 좋은 방법은 무엇이며 왜 그런가요?
리베이스에주의하십시오. 개발 브랜치를 다른 사람과 공유하는 경우 rebase는 문제를 일으킬 수 있습니다. Rebase는 현지 지점에만 적합합니다.
경험상 분기를 원점으로 밀었다면 리베이스를 사용하지 마십시오. 대신 병합을 사용하십시오.
이 워크 플로는 나에게 가장 효과적입니다.
git checkout -b develop
... 일부 변경 ...
통지 마스터가 업데이트되었습니다 ...
... 변경 사항을 커밋하여 개발 ...
git checkout master
git pull
... 그런 변화를 다시 개발하게 ...
git checkout develop
git rebase master
... 더 많이 변경하십시오 ...
... 그들이 개발하도록 커밋 ...
... 마스터에게 합병 ...
git checkout master
git pull
git merge develop
이런 종류의 일에 가장 적합한 방법은 아마입니다 git rebase
. 이를 통해 마스터에서 개발 브랜치로 변경 사항을 가져올 수 있지만 모든 개발 작업은 커밋 로그의 맨 위에있는 마스터의 항목으로 남겨 둡니다. 새 작업이 완료되면 마스터로 다시 병합하는 것이 매우 간단합니다.
개발 브랜치를 다른 사람과 공유하지 않는 경우 마스터가 업데이트 될 때마다 리베이스를 리베이스 할 것입니다. 그러면 개발을 마스터로 다시 병합하면 히스토리 전체에서 병합 커밋이 발생하지 않습니다. 이 경우 워크 플로는 다음과 같습니다.
> git clone git://<remote_repo_path>/ <local_repo>
> cd <local_repo>
> git checkout -b develop
....do a lot of work on develop
....do all the commits
> git pull origin master
> git rebase master develop
위의 단계는 개발 브랜치가 항상 마스터 브랜치의 최신 변경 사항 위에 있는지 확인합니다. 브랜치 개발을 마치고 마스터의 최신 변경 사항에 기반을두면 다시 병합 할 수 있습니다.
> git checkout -b master
> git merge develop
> git branch -d develop
내 경험 법칙은 다음과 같습니다.
rebase
와 나뭇 가지에 같은 이름 ,merge
그렇지.
동일한 이름의 예는 master
, origin/master
및 otherRemote/master
입니다.
경우 develop
로컬 저장소에 존재하고, 항상 최근이 기반으로 origin/master
커밋, 당신은 그것을 호출해야 master
하고, 직접이 작동합니다. 그것은 당신의 인생을 단순화하고, 실제로있는 그대로 제시합니다 : 당신은 master
지점 에서 직접 발전하고 있습니다.
develop
공유 된 경우 에 기반으로하지 말고에 master
다시 병합하면됩니다 --no-ff
. 에 개발 중입니다 develop
. master
그리고 develop
우리가 다른 일을 할 원하기 때문에, 다른 이름을 가지고 있고, 별도의 유지. 와 동일하게 만들지 마십시오 rebase
.
'Programing' 카테고리의 다른 글
이클립스 글꼴 및 배경색 (0) | 2020.04.10 |
---|---|
사전에 특정 키가 포함되어 있는지 테스트하는 방법? (0) | 2020.04.10 |
한 요소에 두 개의 CSS 클래스 사용하기 (0) | 2020.04.10 |
수업 시간에 "this"를 언제 사용해야합니까? (0) | 2020.04.10 |
파이썬에서 문자열을 공백으로 나눕니다 (따옴표 붙은 부분 문자열 유지) (0) | 2020.04.10 |