2009-07-08 4 views
294

나는 저장소의 현재 상태에서 여러 파일을 제거하기를 원한다. 그러나 이전 기록에는 파일이 있어야합니다.hg forget과 hg remove의 차이점은 무엇입니까?

forgetremove의 차이점은 무엇이며 원하는대로 할 수 있습니까?

+25

머큐리얼의 이전 기록에서 파일을 삭제할 수 없으므로 확장 기능을 사용하지 않으면 기록이 일반적으로 불변입니다. –

답변

326

'hg forget'은 'hg remove -Af'의 줄임말입니다. 'hg remove의 도움에서 :

... 그리고 -aF이 작업 디렉토리에서 삭제 하지 않고 다음 버전에서 파일 를 제거 할 수 있습니다.

결론은 : (당신이 -Af를 사용하지 않는)과 'forget가'하지 않는다 'remove은'디스크에 당신의 작업 복사본에서 파일을 삭제합니다.

+7

hg forget -Af를 사용하는 쉬운 방법은 Mercurial 1.3에서 "hg forget"을 다시 도입하는 것입니다. 작업 복사본에서 파일을 제거하지 않고 파일을 삭제하도록 예약합니다. –

+5

다행입니다. 'remove -Af'(그리고 'remove'도움말 페이지의 옵션 전체 테이블)은/광기였습니다. –

+30

@ Ry4an : 진심으로, 그것은 우스웠다. 나는 'forget'을 다시 도입 한 패치에 기여했습니다. 내가 그것을 만들었을 때 나는 깨달았습니다. - 코드에서 완전히 이해되었지만 사용자의 관점에서 볼 때 그것은 완전히 우스 웠습니다. –

26

설명서에서 분명히 두 명령 중 하나를 사용하여 프로젝트 기록에 파일을 보관할 수 있습니다. 작업 디렉토리에서 파일을 삭제하기 때문에 제거를 원하는 것처럼 보입니다. http://hgbook.red-bean.com/read/의 의욕 책에서

: 그 역사에 영향을 미치지 않는 파일을 제거

. 파일을 제거하면 두 개의 효과 만있는 것이므로 은 중요합니다. 작업 디렉토리에서 현재 파일 버전 을 제거합니다. 다음 커밋 시점에서 Mercurial 이 파일 변경 내용 추적을 중지합니다 ( ). 파일을 제거해도 전혀 변경되지 않습니다. 파일의 기록을 변경하십시오.

남자 페이지 HG (1)이 약 잊지 말한다 : 다음 커밋 후 그들이 더 이상 추적되지 않습니다

마크 지정된 파일 있도록. 현재 전체 프로젝트 기록이 아닌 의 파일 만 지워지고 디렉토리에서 지워지지 않습니다. 디렉토리에서 지워지지 않습니다.

그리고이 약 제거 : 저장소에서 제거를위한

일정이 표시된 파일. 이 은 현재 전체 프로젝트가 아닌 현재 분기에서 파일 만 제거합니다.

37

넣어하는 가장 좋은 방법은 hg forget동일당신의에서 복사 작업 뒤에 파일을 잎 제외 hg remove에 있다는 것이다. 파일은 추적 할 수없는 파일로 남겨 지므로 .hgignore의 패턴으로 선택적으로 무시할 수 있습니다.

다른 말로하면 hg forget 또는 hg remove을 사용하면을 말할 수 없습니다. 변경 세트로 업데이트 할 때 hg forget에 놓은 파일은으로 삭제됩니다. 마치 hg remove을 사용한 것과 같습니다. 당신이 최선을 다하고 추가하지만되었음을 의미 "A"상태를 가진 파일에 대해 "hg remove b"을 사용하는 경우

3

, 의욕 응답 :

not removing b: file has been marked for add (use forget to undo) 

이 응답이 제거 사이의 차이가 명확 해설이다 잊어 버려.

제 생각에 "hg forget"은 추가되었지만 커밋되지 않은 파일을 실행 취소하여 버전 제어에 의해 추적되지 않도록합니다. "hg remove"은 버전 관리에서 커밋 된 파일을 가져 오는 데 사용됩니다.

thread에는 7 가지 유형의 상태 파일에 대해 hg remove을 사용하는 예가 있습니다.

1

파일을 추적 할 수 있습니다 여부, 당신은 HG 파일 및 가 HG을 제거하거나 HG 잊지 추적를 추가 를 사용하여 해제를-추적 할 수 있습니다. hg를 사용하여을 제거하지 않고 플래그를 사용하면 파일을 삭제하고 파일을 모두 삭제합니다. hg는을 잊어 버리고 은 삭제하지 않고 간단히 추적 할 수 있습니다.

+3

나는 왜 그 남자가 이미 침을 뱉었을 때이 견적을 덧붙일 필요성을 느꼈는지 모르겠다. –

관련 문제