명령에 대한 치트 시트는 다음과 같습니다.
hg update
작업 사본 상위 개정을 변경하고이 새 상위 개정과 일치하도록 파일 컨텐츠도 변경합니다. 즉, 새 커밋은 업데이트 한 개정에서 계속 수행됩니다.
hg revert
파일 내용 만 변경하고 작업 사본 상위 개정판 만 남겨 둡니다. 일반적으로 hg revert
작업 복사본에 파일에 대한 커밋되지 않은 변경 사항을 유지하지 않으려는 경우 사용 합니다.
hg branch
새로운 지사를 시작합니다. 명명 된 분기를 변경 세트에 할당 한 레이블로 생각하십시오. 따라서 그렇게하면 hg branch red
다음 변경 세트가 "빨간색"분기에 속하는 것으로 표시됩니다. 이는 특히 다른 사람들이 서로 다른 브랜치에서 작업하고 나중에 변경 세트가 시작된 곳을보고 싶을 때 변경 세트를 구성하는 좋은 방법입니다. 그러나 상황에 따라 사용하고 싶지 않습니다.
을 사용 hg update --rev 38
하면 변경 세트 39–45는 막 다른 골목 (우리가 부르는 매달려있는 머리)으로 남게됩니다. 푸시 할 저장소에 "다중 헤드"를 작성하므로 푸시 할 때 경고가 표시됩니다. 경고는 누군가가 합병을해야한다고 제안하기 때문에 그런 머리를 두는 것은 무례한 행동이기 때문입니다. 그러나 귀하의 경우에는 계속 진행할 수 있으며 hg push --force
실제로는 그대로두고 싶습니다.
아직 39-45 개정판을 다른 곳에 푸시하지 않았다면 비공개로 유지할 수 있습니다. 매우 간단합니다. hg clone --rev 38 foo foo-38
최대 개정 38 만 포함하는 새로운 로컬 복제본을 얻게됩니다. 계속해서 작업 foo-38
하면서 새로 생성 한 변경 세트를 푸시 할 수 있습니다. foo
복제본 에는 여전히 오래된 (나쁜) 개정판이 있습니다 . (당신이 원하는 그러나 당신은, 예를 들어, 클론의 이름을 바꿀 무료 foo
로 foo-bad
와 foo-38
에 foo
.)
마지막으로 사용 hg revert --all --rev 38
하고 커밋 할 수도 있습니다 . 그러면 개정판 38과 동일한 개정판 46이 작성됩니다. 그런 다음 개정판 46에서 계속 작업합니다. 이렇게해서 명시 적으로 동일한 방식으로 기록에 포크를 작성 hg update
하지는 않지만, 다른 한편으로는 여러 머리. hg revert
개정판 45를 기반으로 이미 자체 작업을 수행 한 다른 사람들과 공동 작업 하는 경우 사용 합니다 hg update
. 그렇지 않으면 더 명확합니다.