상황을 마스터하기 위해이 지점을 리베이스 분기 원인 문제에서 체리 따기 : 나는 전용 하위 디렉토리 madness/{src,docs}
에 일부 야생 일을했던 실험 지점 crazy-idea
있습니다. 메모, 사진, 플롯을 만드는 해킹 스크립트가있는 커밋 톤. 이제 내가하는 일을 완전히 이해 했으므로 새로운 기능을 추가하고 기존 기능을 변경하여 실제 소스 파일을 src/
에서 편집 할 차례입니다.캔
crazy-idea
의 엉망으로 인해 master의 기록이 복잡해 졌기 때문에 src/
의 변경 사항을 마스터에 병합하기 위해 good-idea
브랜치가 새로 만들어졌습니다. Convince는 src/
의 파일을 여전히 crazy-idea
에 변경 한 다음 체리 - 선택하여 good-idea
에서 커밋을 선택합니다.
내 질문이 :이 good-idea
이 마스터에 병합되었고이 커밋 이후에 일부 커밋이 마스터에서 수행되었다고 가정합니다. 다시 crazy-idea
으로 돌아 가면 내 아이디어의 다른 측면을 철저히 다룰 수 있습니다. src/
에 마스터 링하는 동안 예상되는 문제가 있습니까?
대체 방법은 을 crazy-idea
개 안에두고 서브 디렉토리를 복사하고 good-idea
에 직접 코딩하는 동안 내 노트를 확인하는 것입니다.
당신은 뭐 더 똑똑하다고 제안합니까?
편집 음, 예상대로 나는 crazy-idea
에서
git rebase master
동안 충돌을 얻었다. 앞으로는 정확히 하나의 지점에서만 변경 사항을 소개하고 버려진 것이라는 것을 알고있는 경우에만 체리 피킹을 사용합니다. 가 있었다 N은 src/
의 변화에 커밋 다음과 같이
편집 나는 나의 상황을 해결했다. 마지막이 아닌 src/
커밋이 변경되면 'foobar'메시지가 표시됩니다. 리베이스가 실패한 후 :
$ git rebase --abort
$ git reset --hard HEAD^
HEAD is now at ...
# more hard resets, I think actually N
HEAD is now at ... foobar
$ git rebase master
First, rewinding head to replay your work on top of it...
Applying ..
...
완료. 이것은 분명히 내가 바라는만큼 솔직하지는 않지만 나쁘지도 않다. 나는 madness/
을 복사하는 대신에이 길로 갈 것이라고 생각한다.
니스. 내 생각 엔/git은 커밋 할 곳을 무시하고 rebase 할 때 내용을 보았을뿐입니다. Btw, 내가 말한 방법으로 git를 실제로 사용했는지 또는 잘 처리 할 수 있다고 확신하고 있는지 확인하십시오. –
필자는 꽤 복잡한 리베이스 작업을 수행했으며 이미 통합 된 전체 커밋을 올바르게 삭제하는 것을 보았습니다. – cdhowie
소리가 굉장합니다. 나는 그것이 성공한다면 1-2 일 안에 답을 표시 할 것입니다 : P 고마워요! –