저는 현재 프로젝트에서 정의 된 몇 가지 브랜치를 가지고 있는데, 마스터 브랜치를 제외한 모든 것이 동일한 작은 파일 세트 (10 개 미만)로만 마스터 브랜치와 다릅니다.두 파일 만 다른 두 GIT 브랜치를 동기화합니다.
master에 새 기능을 구현 한 후 최소한의 노력으로 다른 분기에 변경 사항 및 복제본을 복제하고 싶습니다. 여기서 권장되는 접근 방법은 무엇입니까?
저는 현재 프로젝트에서 정의 된 몇 가지 브랜치를 가지고 있는데, 마스터 브랜치를 제외한 모든 것이 동일한 작은 파일 세트 (10 개 미만)로만 마스터 브랜치와 다릅니다.두 파일 만 다른 두 GIT 브랜치를 동기화합니다.
master에 새 기능을 구현 한 후 최소한의 노력으로 다른 분기에 변경 사항 및 복제본을 복제하고 싶습니다. 여기서 권장되는 접근 방법은 무엇입니까?
당신은 세 가지 선택이 있습니다
merge
:에에게 특정 적용 마스터의 모든 변경 한 지점에 표시해야하지만 항상 그런
cherry-pick
없는 경우 흥미로운 지점에 커밋
rebase
: 지점이 아직 푸시되지 않은 경우 가장 좋은 해결책 : 재생 t 그는 마스터
그러나 위에 지사의 커밋 : 세 가지 경우에, 당신은 당신이 변경 사항을 통합하려는 브랜치를 체크 아웃해야하고, 각 지점에 대한 것을 반복합니다.
브랜치가 다른 하나에서 만든하지 않는 :
이 경우---o branch B1
\
----o branch B2
\
----o branch B3
, 당신은 할 수 :
git checkout B1
, B2에 git merge B2
을 작업을 완료) 일반적으로 나는 한 가지에 몇 가지 중요한 일을 해결할 때: B2에, 이것은 빨리 감기 병합) B1에 대한
git checkout my_latest_feature
및 git merge --no-commit master
이 cherry-pick을 해본 적이 없지만, 내 생각, 내가 생각하는 가장 좋은 방법 이잖아 그 특정 변경 및 git merge --no-commit master
전체 트리 (최신 수정 외에도 다른 커밋) 가져 오려고합니다.
커밋 내역을 변조하는 명령은 항상 싫습니다. 이유는 왜 결코 rebase
업데이트 그게 전부 : How to copy commits from one branch to another?
'자식 병합 master' 문제의 새로운 기능 : 그냥이 비슷한 질문을 찾았나요? 한 명령에서 여러 분기에 대해 실행하는 방법을 원하십니까? –
@ 지미, 제 대답의 두 번째 단락을 확인하십시오. 그리고 어떻게 생각하는지 알려주세요. –