Program Tip

Mercurial에서 git reset --hard HEAD를 어떻게합니까?

programtip 2020. 11. 1. 18:34
반응형

Mercurial에서 git reset --hard HEAD를 어떻게합니까?


Mercurial을 사용하려는 Git 사용자입니다.

무슨 일이 있었는지 : hg backout되돌리고 싶은 변경 세트를 수행했습니다. 그게 새로운 머리를 만들었 기 때문에 hg는 나에게 병합하라고 지시했습니다 ( "기본값"으로 돌아가서 가정합니다). 병합 후에도 여전히 커밋해야한다고 말했습니다. 그런 다음 병합에서 충돌을 해결할 때 내가 잘못한 것을 발견하고 이전과 같이 모든 것을 갖기를 원했습니다 hg backout. 즉, 커밋되지 않은 병합이 사라지기를 원합니다. Git에서이 커밋되지 않은 항목은 인덱스에있을 것이고 나는 그것을 git reset --hard HEAD없애기 위해 할 것입니다. 그러나 내가 읽은 것에서 인덱스는 Mercurial에 존재하지 않습니다. 그럼 어떻게 되돌릴 수 있을까요?


아직 커밋하지 않았고을 사용하여 모든 병합 작업을 취소 할 수없는 것처럼 들립니다 hg update --clean.

그러나 최신 mercurial에는 단일 파일을 다시 병합하는 편리한 명령이 hg resolve path/to/file.ext있습니다.. 에서 hg help resolve:

The available actions are: ...

 4) discard your current attempt(s) at resolving conflicts and

처음부터 병합을 다시 시작합니다. "hg resolve file ..."(또는 모든 미해결 파일의 경우 "-a")


이것은 가깝습니다.

hg update --clean


Hg 매뉴얼의 GitConcepts 페이지는 gitMercurial에서 사용자에게 익숙한 많은 작업을 수행하는 방법을 설명합니다 .

Mercurial에는 기본 제공 git reset --hard동작 이 없습니다 . 그러나 strip확장은 수행하는 strip명령을 제공합니다 . 사용하려면 먼저strip~/.hgrc 파일 에서 활성화 하십시오.

[extensions]
strip =

참고 :이 확장은 Mercurial 2.8의 새로운 버전으로 제공됩니다. 이전 버전은 제공 strip에 명령을 mq확장 .

이제 hg strip또는 같은 명령을 실행할 수 있습니다 hg help strip. 변경 집합과 모든 하위 항목을 제거하려면 해당 변경 집합을에 대한 인수로 지정하면됩니다 hg strip. 예를 들어 방금 만든 마지막 커밋을 제거하려면 ( hg rollback더 이상 롤백 할 트랜잭션이 없다고보고하는 명령을 사용한 후 ) tip개정을 제거 할 수 있습니다 . 이 명령을 실행할 때마다 다른 개정판이 제거됩니다. hg strip의 행동은 되돌릴 수없는 것으로 간주되어야합니다. 익숙하지 않은 사용자는 사용하기 전에 저장소를 백업해야합니다.

$ hg strip tip

예를 들어 revsets 구문을 사용 하면을 실행할 때 추가 헤드가 표시되는 내 커밋을 제거하고 싶다고 표시합니다 hg heads. 아래 표현식에서 이외의 특정 개정을 지정하면 tip선택한 개정의 조상이 아닌 현재 분기의 모든 항목이 잘립니다. 이것은 내가 명령을 내릴 때 내가 원하는 행동에 가장 가깝게 보인다 git reset --hard HEAD.

$ hg strip "branch(tip) and not(ancestors(tip)::tip)"

git에서 명령 :

git reset --hard     # reset to last commit    
git clean -df        # delete untracked files

~와 같다

hg update --clean    # reset to last commit  
hg purge             # delete untracked files

참고 URL : https://stackoverflow.com/questions/2672454/how-do-i-git-reset-hard-head-on-mercurial

반응형