2010-07-22 2 views
6

최근에 프로젝트를 진행하면서 (다른 개발자가 아니더라도) 필자는 복제 된 리포지토리와의 나쁜 병합을 통해 어떻게 든 역사를 심각하게 왜곡 할 수있었습니다.을 할 필요 - - 내가하고 싶은 무엇Mercurial : borked 히스토리 수정

예, 나는 borking 후 코드를 약간 변경 한 (hg glog에 따라) 지난 8 커밋을 삭제하여이 문제를 해결하다 그러나, 여기저기서 약간의 조정 만 시작되었습니다. 나는 기억에서 신선한 것을 고칠 수는 없습니다.

마지막 8 개의 커밋을 없애고 내가 엉망인 곳부터 다시 시작하려면 어떻게해야합니까?

답변

11

저장소 복제본 만들기 - 이렇게하면 복제해야 할 마지막 커밋을 지정할 수 있습니다. 저장소가 100 개 체인지가 있고 93 ~ 100 변경 집합을 제거하려는 경우

그래서, 그냥 이렇게 :

hg clone -r 92 BadRepository CleanRepository 

->는 CleanRepository 만 변경 집합을 포함 한 92

TortoiseHG를 사용하는 경우 Clone 대화 상자에서 동일한 작업을 수행 할 수 있습니다 ("Clone to revision :"텍스트 상자가 있음)

+3

이 답변은 일반적인 경우를 다루지 않습니다. 근원 repo에있는 몇몇 분지는이다. – piotr

관련 문제