피쳐 분기를 다른 피쳐 분기로 기본 재배치
제가 작업 중인 두 개의 (개인) 피쳐 분기가 있습니다.
a -- b -- c <-- Master
\ \
\ d -- e <-- Branch1
\
f -- g <-- Branch2
이 지점들에서 작업을 좀 한 후에 1 지점의 2 지점에서 변경 사항이 필요하다는 것을 알게 되었습니다.브랜치2의 변경사항을 브랜치1로 변경하고 싶습니다.마지막으로 다음 사항을 말씀드리겠습니다.
a -- b -- c <-- Master
\
d -- e -- f -- g <-- Branch1
두 번째 분기를 첫 번째 분기로 다시 작성해야 한다고 확신하지만, 올바른 구문과 어떤 분기를 체크아웃해야 하는지에 대해서는 완전히 확신할 수 없습니다.
이 명령을 실행하면 원하는 결과를 얻을 수 있습니까?
(Branch1)$ git rebase --onto Branch1 Branch2
지점 2로 전환
git checkout Branch2
분기1 변경사항 위에 전류(분기2) 변경사항을 적용하고 분기2에 유지합니다.
git rebase Branch1
그러면 브랜치2에서 원하는 결과를 얻을 수 있습니다.
a -- b -- c <-- Master
\
d -- e <-- Branch1
\
d -- e -- f' -- g' <-- Branch2
Branch1을 삭제할 수 있습니다.
참고: 사용 중인 경우Branch1
Git 2.0(2014년 2분기)을 사용하여 다음을 입력할 수 있습니다.
git checkout Branch2
git rebase -
그-
~하듯이rebase
이 경우 매개 변수는 '이전에 있었던 분기'를 의미합니다.Brian Gesiak의 commit 4f40740을 참조하십시오.
rebase
허용"-
전 분기에 대한 단기의
기본값을 다음과 동일한 단축형으로 티칭
checkout
그리고.merge
지점의 이름을 에 붙이다rebase
현재 분기, 즉 "-
"우리가 이전에 있었던 지점"을 의미합니다.
이 기능은 덜 명시적이며 작은 실수로 인해 상태가 엉망이 될 수 있으므로 주의하여 사용하십시오.
이 솔루션은 요청한 대로 수행해야 합니다(Branch1에 머무르는 동안 Branch2의 커밋을 Branch1 위에 추가).
git checkout Branch1
git cherry-pick master..Branch2
당신은 이것으로 끝날 것입니다.
a -- b -- c <-- Master
\
d -- e -- f' -- g' <-- Branch1 (current)
\
f -- g <-- Branch2
이렇게 하면 지점 2의 각 커밋을 지점 1의 순서대로 선택할 수 있습니다.그런 다음 Branch2를 삭제할 수 있습니다.
기본 재배치를 요청하신 것은 알지만, 대신 지점 2에서 지점 1로 옮기고 싶은 커밋을 체리픽으로 선택하겠습니다.그러면 마스터에서 생성된 분기에 상관하지 않고 병합을 더 잘 제어할 수 있습니다.
a -- b -- c <-- Master
\ \
\ d -- e -- f -- g <-- Branch1 (Cherry-Pick f & g)
\
f -- g <-- Branch2
제가 이 질문을 오해하고 있나요?나의 본능은 사용하는 것이었습니다.rebase
의--onto
다음과 같은 플래그:
git rebase --onto branch1 master branch2
기본 재배치 전:
* 6263580 (HEAD -> branch2) add g
* c802c88 add f
| * c80cfb0 (branch1) add e
| * aea5708 add d
| * 2e522fe (master) add c
|/
* 0613527 add b
* e2a0c4d add a
기본 재배치 후:
* 7f6a363 (HEAD -> branch2) add g
* 4cbab60 add f
* c80cfb0 (branch1) add e
* aea5708 add d
* 2e522fe (master) add c
* 0613527 add b
* e2a0c4d add a
이는 명시적이며 어떤 커밋 집합이 무엇을 기반으로 하는지 명확하게 합니다.
언급URL : https://stackoverflow.com/questions/14893399/rebase-feature-branch-onto-another-feature-branch
'programing' 카테고리의 다른 글
데이터베이스가 생성된 이후 컨텍스트를 지원하는 모델이 변경되었습니다. (0) | 2023.05.07 |
---|---|
C# 6.0은 에 적용됩니까?NET 4.0? (0) | 2023.05.07 |
Postgresql - DB에 대한 일부 자동 연결 때문에 데이터베이스를 삭제할 수 없습니다. (0) | 2023.05.07 |
Ubuntu에서 Tkinter 모듈을 찾을 수 없습니다. (0) | 2023.05.07 |
와일드카드가 있는 폴더를 도커 컨테이너에서 호스트로 복사 (0) | 2023.05.07 |