2010-05-05 2 views
3

마지막 커밋 이후의 모든 저장소 변경 사항을 Mercurial에서 어떻게 포기 하시겠습니까?커밋되지 않은 모든 Mercurial 변경 사항을 취소하는 방법

do not 이것은 revert 명령이라고 생각합니다. 실제로는 작업 디렉토리를 마지막 커밋으로 업데이트하기 때문입니다. 난 단지 저장소 (변경된 파일, 삭제 된 파일 등)의 변경 사항을 취소하고 싶다.

하지만 Mercurial에 익숙하지 않아 뭔가를 놓칠 수 있습니다.

+0

* 추가 ​​된 파일, 제거 된 파일 *은 저장소로 변경되지 않습니다. 커밋 (commit) 될 때까지는 저장소에 대한 변경 사항이 전혀 없습니다. – SilentGhost

답변

8

revert을 원하십니까? revertupdate의 두 명령은 무료입니다. 둘 다 작업 디렉토리의 파일을 업데이트하지만 update은 부모 개정 (hg parents 참조)을 업데이트하지만 revert은 업데이트하지 않습니다. 학부모 수정 번호가 tip 인 경우이 경우 자주 수행하지만, revert을 선호합니다.

예 :

[email protected] [~/hg/test] % hg stat 
? newfile 
? output.patch 
? this 
[email protected] [~/hg/test] % hg add newfile 
[email protected] [~/hg/test] % hg stat 
A newfile 
? output.patch 
? this 
[email protected] [~/hg/test] % hg revert --all 
forgetting newfile 
[email protected] [~/hg/test] % hg stat 
? newfile 
? output.patch 
? this 
2

저장소에 커밋되지 않은 로컬 복사본에 대한 변경이 명령을 취소 할 수 있습니다 :

hg update -C 

즉, 깨끗하고 업데이트합니다.

+0

정말입니다. 더 쉬워지지 않습니다. – DanMan

관련 문제