이것은 당신이 요구하는지 어떻게해야 : - 많은 다른 git
명령처럼 $IMPORT_BEGIN
이름 경우는 먼저 벚꽃으로 수확해야 할 커밋
git checkout $DESTINATION # assuming here that that's a branch name, not a hash
git cherry-pick $IMPORT_BEGIN..$IMPORT_END
주, 당신은 대신 ${IMPORT_BEGIN}~1
를 사용해야합니다 cherry-pick
은 <begin>..<end>
의 범위를 해석하여 "<begin>
에서 모두 <end>
까지 커밋합니다"를 의미합니다.
브랜치 헤드를 손으로 체크 아웃하면 (해시에 의한 체크 아웃과 달리 머리가 분리됨) cherry-pick
은 자동으로 브랜치 헤드를 진행합니다.
편집 :이 작업을 수행 rebase
을 사용하기 위해서는, 이제 devel
라는 지점에있는 복제 할 커밋을 가정하자 (즉, $IMPORT_END=devel
아닌 해시 - 대신 지점의 해시를 당신이 결국 어떻게되어 사용 분리 된 헤드가 있음)이 커밋을 master
으로 이동하려고합니다. 커밋을 복사합니다
git checkout devel
git rebase --onto master $IMPORT_BEGIN..$IMPORT_END
을하지만, 원하는 최종 상태 것 같다 $IMPORT_END
의 새로운 버전에 master
분기를 진행하지 않습니다이 경우, 당신은이 작업을 수행 할 수 있습니다.
git checkout master
git merge --ff-only devel
devel
커밋 새를 가리 키도록 rebase
에 의해 업데이트 된 것이며, merge
지금 같은 장소에 master
지점을 만들 것입니다 : 그것을 달성하기 위해, 당신은 함께 위를 수행해야합니다.
'rebase'로 할 수있는 가능성은? rebase에 의존하고 있습니다. 나중에 작동하도록 메커니즘을 중단/중단합니다. 체리 피클을 사용하면 같은 방식으로 작동하지 않을 것입니다. ( – viraptor
'rebase '로 할 수는 있지만 다른 접근 방법이며 몇 가지 추가 단계가 필요합니다. – twalberg