나는이 문제를 가지고 있어요 거기에 GIT 사용자의 무리 거기에 확신 :GIT에서 잘못된 픽스 업을 되돌리려면?
- 마스터에서 분기를 작성가. 그것을 featureX이라고합시다.
- 당신은 당신의 수정을 커밋 : featureX에서 작업하는 동안
- 어딘가에는, 당신은 당신이 이전의 픽스 업 커밋 만들고 싶어 알고 있습니다.
- 리베이스 및 스쿼시/픽스 업을 수행합니다.
- 나중에 변경 사항을 featureX에 반영하려면 마스터에 대해 리베이스해야합니다.
- 분기가 분기되어 (마스터에서 수정되지 않았습니다) 문제가 발생합니다. 너 나쁜 날이야.
이것은 두 번째로 발생합니다. 처음으로, 나는 featureX에 많은 역사를 가지고 있지 않았고 간단하게 master의 새로운 지점을 만들었습니다. 이것에 대해 어떻게 생각하십니까? 어떻게 해결할 수 있니?git reset
특정 reflog가 가능합니까? 이 경우 rebase를 취소하고 수정 커밋을 featureX (대화 형 리베이스 사용) 위로 되돌릴 수 있습니다.
나는 그것에 대해 갈 여러 가지 방법이있을 것이라고 확신하지만, 이것은 일반적인 문제라고 생각합니다.
답변 해 주셔서 감사합니다! 하지만 결함이있는 리베이스 이후에 변경된 사항 (reflog에서)이 있기 때문에 단순히 리베이스 전에 돌아가는 것에 관심이 없습니다. 차라리 특정 rebase를 취소 할 수 있습니다. 즉, reflog를 리베이스 할 수 있습니까? :) 저는 현재 현재 코드 기반을 가지고 있지 않지만 10 시간 정도 후에 시도 할 수 있습니다. 일반적으로 rebasing에 관하여; 기능을 다시 통합 분기로 병합합니다. 최신 통합 분기 변경 사항을 기능 분기에 동기화하려는 경우 다시 트리밍합니다. 너가하는 일이 아니야? – Ztyx
리베이스가하는 일을 이해해야합니다. 다른 시작점으로 이동하려는 모든 커밋에 대한 패치를 생성합니다. 그런 다음 하나씩 적용합니다. 리베이스를 "실행 취소"하려면 단순히 다시 리베이스하지만 커밋 범위를 시작할 위치를 지정하십시오. 구문은 다음과 같습니다 :'git rebase --onto new-start begin-of-range end-of-range'. 그리고 아니, 나는 거의 rebase. 신중하게 내 게시물을 읽는다면, 나는 같은 지점에서 각 작업이나 기능을 시작한다는 것을 알 수 있습니다. 거기에서, 어떤 조작은 때로는 재설정 할 수있는 2 개의 특수 분기와 기능의 병합입니다. –
또한 google "컴퓨터 과학자 용 자식"입니다. 역사가 git에 어떻게 저장되는지 철저히 이해해야합니다. –