git with master로 지점을 최신 상태로 유지하려면 어떻게해야합니까?


126

마스터에 버그 수정이 있으며 내 지점에서 해당 버그 수정을 받기를 원합니다. 어떤 git명령을 사용합니까?

답변:


172

마스터의 모든 변경 사항을 적용한 것으로 가정하면 원하는 것은 다음과 같습니다.

git checkout <my branch>

작업 트리를 분기로 전환합니다. 그때:

git merge master

마스터의 모든 변경 사항을 귀하의 것으로 변경하십시오.


5
그리고 이것은 단지 마스터에서 변경 사항을 내 브랜치에 추가하고 마스터를 그대로 둡니다.
Nic Hubbard

3
@Nic-버그 수정뿐만 아니라 마스터에서 모든 커밋을 가져옵니다. 이것이 당신이하고 싶은 일인지 확인하십시오.
manojlds

12
@Nic-맞습니다. 마스터를 수정하지 않습니다.
John Doty

16
로컬 마스터 브랜치를 최신 상태로 유지하려면 초기 "git checkout master; git pull"을 권장하는 것이 좋습니다. 일반적으로 명백하지만 ...
MikeW

마스터 체크 아웃 / 병합 바로 가기로서, "git pull origin master"를 수행하여 서버 마스터 / 병합을 로컬 체크 아웃 브랜치로 가져올 수 있습니까?
user1172173 2016 년

66

지점이 로컬 전용이고 서버로 푸시되지 않은 경우

git rebase master

그렇지 않으면

git merge master

18
커밋 히스토리를 수정하고 수정 된 검색 히스토리를 서버로 푸시하지 않기 때문입니다.
Chetan

1
당신이 당신의 원격 리포지토리를 통해 같은 SVN 저장소 사용하는 경우 git svn- 그럼를가 git rebase master갈 수있는 방법은 svn의 이해 무엇 선형 역사를 유지하는 것입니다.
alondono

15

cherry-pick을 사용하여 특정 버그 수정 커밋을 얻을 수 있습니다.

$ git checkout branch
$ git cherry-pick bugfix

체리 픽이 버그 픽스가 마스터로 다시 병합 된 브랜치 인 경우에만 작동합니까?
Prasith Govin

1
체리 픽을 선택할 수 있지만, 브랜치를 마스터에 병합 한 후 (브랜치가 준비되면) 히스토리에서 버그 수정 커밋을 두 번 갖게됩니다.
Gauthier

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.