순차적 커밋 세트를 하나의 (로컬) 브랜치에서 다른 브랜치로 옮기는 방법이 있습니까? 나는 꽤 많이 조사했지만, 내가하고 싶은 일에 대해 명확한 답을 찾지 못했습니다. , 나는이 작업을 수행 할 수 있습니다 알고한 브랜치에서 다른 브랜치로 순차적 인 커밋 세트 이동하기
master A---B---C \ feature-1 M---N---O \ f1-crazy-idea P---R---Q
을 :
master A---B---C \ feature-1 M---N---O---P---R---Q
그리고 마지막 3 커밋이 같은 더 나을 것이라고 결정했다 : 예를 들어
, 나는이 있다고 가정 해 작동하지 않습니다 :
$ git log --graph --pretty=oneline (copying down sha-1 ID's of P, R, Q) $ git checkout feature-1 $ git reset --hard HEAD^^^ $ git checkout -b f1-crazy-idea $ git cherry-pick <P sha1> $ git cherry-pick <R sha1> $ git cherry-pick <Q sha1>
나는 그 대신에 더 많은 conc 비록 내가 많은 행운을 갖지는 않았지만이 일을하는 ise 방법, 아마도 git rebase로.
어떤 통찰력이라도 대단히 감사하겠습니다.
감사합니다,
제이미
일반적인 대답 (이 간단한 경우에는 필요하지 않음)에는'rebase --onto'가 필요합니다. http : //stackoverflow.com/questions/1994463/how-to-cherry-pick-a-range-of-commits-and-merge-into-another-branch/1994491#1994491 또는 http://stackoverflow.com/questions/ 2369426/how-to-move-certain-commits-to-another-branch-in-git/2369516 # 2369516 또는 http://stackoverflow.com/questions/2100851/how-to-undo-a-commit-and- @ 2100953 # 2100953 – VonC