Nice programing

Git에서 마스터에서 브랜치로 변경 사항 가져 오기

nicepro 2020. 10. 2. 23:13
반응형

Git에서 마스터에서 브랜치로 변경 사항 가져 오기


내 저장소에는 aq내가 작업중인 지점이 있습니다.

그런 다음 새로운 작업과 버그를 master.

이러한 커밋을 aq브랜치 로 가져 오는 가장 좋은 방법은 무엇입니까 ? 에서 또 다른 새 분기를 master만들고 aq?


aq브랜치를 확인하고 master.

git checkout aq
git rebase master

git merge origin/masteraq 브랜치에있을 때만 가능해야합니다 .

git checkout aq
git merge origin/master

먼저 마스터에게 확인하십시오.

git checkout master

모든 변경, 핫픽스 및 커밋을 수행하고 마스터를 푸시하십시오.

브랜치 'aq'로 돌아가서 마스터를 병합하십시오.

git checkout aq
git merge master

귀하의 브랜치는 master와 함께 최신 상태가됩니다. 병합의 좋은 기본 예는 3.2 Git Branching-Basic Branching and Merging 입니다.


마스터 버그 수정이 다른 커밋에 속하지 않는다는 보장은 없으므로 단순히 병합 할 수 없습니다. 하다

git checkout aq
git cherry-pick commit1
git cherry-pick commit2
git cherry-pick commit3
...

해당 커밋이 버그 수정을 나타낸다고 가정합니다.

이제부터는 별도의 분기에 버그 수정을 보관하십시오. 당신은 할 수 있습니다

git merge hotfixes

그것들을 모두 일반 개발 브랜치로 롤링하고 싶을 때.


어느 cherry-pick지점에 해당 커밋 aq또는 병합 지점 master지점에 aq.


함께 병합 aq

git checkout master
git pull
git checkout aq
git merge --no-ff master
git push

쉬운 방법

# 1. Create a new remote branch A base on last master
# 2. Checkout A
# 3. Merge aq to A

저에게는 이미 변경 사항이 있었고 기본 지점의 최신 버전을 원했습니다. 나는 할 수 없습니다 rebase, 그리고 cherry-pick내가 다음을했다, 그래서 영원히 걸렸을 것입니다 :

git fetch origin <base branch name>  
git merge FETCH_HEAD

그래서이 경우 :

git fetch origin master  
git merge FETCH_HEAD

You have a couple options. git rebase master aqonto the branch which will keep the commit names, but DO NOT REBASE if this is a remote branch. You can git merge master aq if you don't care about keeping the commit names. If you want to keep the commit names and it is a remote branch git cherry-pick <commit hash> the commits onto your branch.


This (from here) worked for me:

git checkout aq
git pull origin master
git push

참고URL : https://stackoverflow.com/questions/5340724/get-changes-from-master-into-branch-in-git

반응형