2012-07-09 4 views
2

다른 말로 표현하면, hg 저장소를 외부 저장소에 대한 hg 복제본을 처음 수행했을 때 존재했던 상태로 되 돌리는 방법이 있습니까?공간을 절약하기 위해 모든 로컬 변경 집합을 제거하는 방법이 있습니까?

서버 VM을 FTP로 전송하고 hg 리포지토리가 다른 곳에 존재할 때 공간을 절약하려고하므로 전송할 이유가 없습니다. 나는 다른쪽으로 끝내야 할 모든 것이 hg pull, hg update이며 다시 시작될 준비가되어있는 것처럼 서버를 설정하고 싶습니다.

답변

1

복제본을 최소한으로 제거하고 원래 저장소에서 복구하려는 것처럼 들립니다. 왜 로컬 복사본을 완전히 삭제하고 복제 경로 목록을 유지하여 다시 가져 오지 않는 것이 좋을까요?

그렇지 않으면 hg strip 0 --no-backup과 복제의 모든 지역의 역사를 제거하고 hg pull으로 모든 것을 다시 가져올 수있는 MercurialQueues 확장에서 strip 명령을 사용하여 (당신은 유지하려는 것을 밀어했습니다 가정).

0

아니요, 단일 수은 명령이 아닙니다. 일단 hg pull을 실행하면 수은이 그 당기기 전의 상태를 기록하지 않습니다.

그러나 변경된 내용 (예 : 추적되지 않은 파일에 쓰기 만 함)을 복제 한 기록을 보관하면 원하지 않는 모든 변경 집합을 매우 효율적으로 제거 할 수 있습니다. Mercurial: removing changesets

0

마지막 끌어 오기 이후에 저장소의 내부 상태를 변경 한 다른 명령을 커밋하거나 실행하지 않은 경우 hg rollback을 실행할 수 있습니다.

관련 문제