수은을 사용하도록 빌드 프로세스를 이동하고 작업 디렉토리를 팁 개정 상태로 되돌리려 고합니다. 빌드 프로세스의 이전 실행은 일부 파일을 수정하고 커밋하지 않으려는 일부 파일을 추가 했으므로 리포지토리에 추가되지 않은 로컬 변경 및 파일이 있습니다.
모든 것을 버리고 최신 개정판을 사용하는 깔끔한 작업 디렉토리를 얻는 가장 쉬운 방법은 무엇입니까?
현재 나는 이것을하고있다 :
hg revert --all
<build command here to delete the contents of the working directory, except the .hg folder.>
hg pull
hg update -r MY_BRANCH
그러나 더 간단한 방법이 있어야합니다.
리포지토리 삭제, 새로운 복제 및 업데이트와 동일한 작업을 수행하고 싶습니다. 그러나 레포는 너무 빠르기 때문에 너무 빠릅니다.
답변
이러한 단계 는 다음 과 같이 단축 될 수 있어야합니다.
hg pull
hg update -r MY_BRANCH -C
-C
플래그를 업데이트하기 전에 모든 로컬 변경 사항을 취소 업데이트 명령을 알려줍니다.
그러나 그래도 저장소에 추적되지 않은 파일이 남아있을 수 있습니다. 그것들을 제거하고 싶은 것처럼 들리므로 purge
확장을 사용합니다.
hg pull
hg update -r MY_BRANCH -C
hg purge
어쨌든 Mercurial이 수행 할 수없는 “전체 복제”방법으로 프로세스를 변경하는 경우를 제외하고는 원하는 모든 작업을 수행하도록 Mercurial에 요청할 수있는 명령이 하나도 없습니다.
답변
답변
제거 확장 프로그램없이 * nix에서 추적되지 않은 항목을 삭제하려면
hg pull
hg update -r MY_BRANCH -C
hg status -un|xargs rm
어느 것을 사용하고 있습니까
업데이트 -r –rev REV 개정
업데이트 -C-커밋되지 않은 변경 사항을 삭제합니다 (백업 없음).
status -u –unknown 알 수없는 (추적되지 않은) 파일 만 표시
status -n –no-status hide 상태 접두사
답변
쉬운 방법을 찾고 있다면 이것을 시도해 볼 수 있습니다.
나는 모든 도구에 대한 명령 줄을 거의 기억할 수 없으므로 UI를 사용하여 수행하는 경향이 있습니다.
1. 먼저 “커밋”을 선택하십시오
2. 그런 다음 무시 된 파일을 표시하십시오. 커밋되지 않은 변경 사항이 있으면 숨 깁니다.
3. 이제 모두 선택하고 “버전없는 버전 삭제”를 클릭하십시오.
끝난. 명령 줄보다 기억하기 훨씬 쉬운 절차입니다.
답변
HG 상태 는 모든 새로운 파일을 보여줍니다, 그리고 당신은 그냥 rm 수 있습니다 그것들을 있습니다.
일반적으로 무시되고 버전이없는 파일을 제거하고 싶습니다.
hg status -iu # to show
hg status -iun0 | xargs -r0 rm # to destroy
그런 다음 다음을 수행하십시오.
hg update -C -r xxxxx
모든 버전의 파일을 개정 xxxx의 올바른 상태로 만듭니다.
이것을 원하지 않는다는 스택 오버플로 전통을 따르기 위해,이 “핵 옵션”이 내가 관심있는 것을 파괴 한 경우가 종종 있습니다.
이를 수행하는 올바른 방법은 빌드 프로세스에 ‘make clean’옵션을 사용하는 것입니다.