2015-01-22 9 views
0

ShelveExtension은 수정 된 파일을 추적 할 수 없거나 삭제 된 선반에만 표시됩니다.Mercurial : 선반에 붙은 변경 사항을 취소 할 수 없습니다.

나는 Mercurial에 익숙하지 않고 git에서 온다. 그래서 나에게 이것은 기대하지 않는다.

더 큰 문제는 내가 오류 메시지라고 가정하고 hg unshelve 수 없습니다.

은 아래를 참조하십시오 :

unshelving 변화 '주'

일시적으로

리베이스 보류 변경 ('HG unshelve --abort'로 복원) 보류중인 변경 내용을 커밋

중단 : 커밋되지 않은 변경 사항

그게 기대되는 행동이고 뭔가를 놓친 것입니까?

어떻게 수정/커밋/수정하지 않고 내 수정 된 파일을 unshelve 수 있습니까?

git stash과 똑같은 동작을하는 확장 프로그램이 있습니까?

단계 재현 :

enter image description here

환경 :

OS : 윈도우 8을

의욕 : 의욕 분산 SCM (버전 3.0.1). cygwin/usr/bin/hg로 설치 (Tortoisehg가 설치되어 있지 않지만 Windows hg가 설치되어 있지만 사용되지 않음)

내선 번호 : ShelveExtension.

답변

2

예상되는 동작이며 방금 누락 되었습니까?

예, 이것은 정상적인 동작입니다. Mercurial에서 파일 생성 및 삭제를 추적하려면 hg addremove (또는 hg addhg rm 개별 파일)을 수행해야합니다. 이름을 바꾸려면 hg mv을 사용해야합니다. 이것은 수정 된 파일을 위해 수행 할 필요가 없다는 점을 제외하고는 희미하게 git add과 유사합니다.

unshelve 할 때 작업 디렉토리는 깨끗해야합니다. 최소한 누락 된 파일 (접두어가 hg st)이나 수정 된 파일 (접두사가 M)이 없어야합니다. 임시 커밋을하고 hg strip 나중에 할 수 있습니다.

어떻게 수정/커밋/수정하지 않고 내 수정 된 파일을 unshelve 수 있습니까?

일반적인 경우에는 정상적인 방법이 아닙니다.선반에 더 이상 존재하지 않는 파일이 변경되면 어떻게 될까요? 파일 삭제가 커밋 된 경우 패치 충돌이 발생할 수 있으며 이는 Mercurial이 수행하는 작업입니다. 그러나 갈등을 저 지르지 않으면 이러한 상황에 대한 명백한 대응이 없습니다.

git stash과 똑같은 동작을하는 확장 프로그램이 있습니까?

내 지식은 없지만 이것은 StackOverflow의 범위를 벗어납니다.

+0

나는 내가 실망스럽고 싶으면 내가 놓친 파일과 untracked 파일을 처리해야한다는 것을 알았다. –