2010-04-01 3 views
1

HG에 작업 저장소를 만듭니다. 그리고 일부 파일을 수정했습니다.모든 수정 사항을 지점으로 이동하는 방법

모든 수정 사항을 지점 (내가 작성하지 않은 지점)으로 옮기는 방법은 무엇입니까? (일종의 'git stash'와 은신처를 지회로 옮기는 동작은 실제로 어떻게해야 할 지 잘 모르겠다. 알고 있으면 git에서 나에게 말할 수 있다면 고맙겠다)

감사합니다. 힘내 들어

답변

2

먼저 ShelveExtension도 아니고 AtticExtension도 원하는 것을 정확히 확인하지 마십시오.

수은으로 수동으로 작업하는 경우 명명 된 분기를 피하고 다른 헤드를 사용하십시오. 예를 들어, 이미 변경 한 내용을 조금이라도 "버려두고 싶다"면.

hg commit -m 'working on Xxx' # you created a new tip 
hg update -r -2    # switch to the revision before the tip 

이제 작업을 시작하십시오. 나중에 hg heads으로 익명 분기를 찾아서 hg merge과 병합 할 수 있습니다.

+0

+1. 당신은 "named-branch"Git 모델에 아직도 너무 많이 남아 있고 repo "Mercurial model;에 대해"하나의 branch (그리고 몇몇 밀접하게 관련된 익명의 브랜치)에서는 충분하지 않다는 것을 내 대답으로 말할 수있다.) 나는 아직도 적응하는데 어려움이있다. 새로운 지점을 만들기 위해 새로운 저장소를 만드는 것까지 ... – VonC

+1

감사합니다. VonC, 당신은 계급입니다. 나는 당신이 현명하게 연결되어있는 "Mercurial에서 분기하는 가이드"의 정의에 의해 여전히 "브랜치와 같은 클론"을 사용하고 있기 때문에 Mercurial 세계에서 점점 더 줄어들고 있습니다.하지만 항상 그 솔루션을 찾는데 도움이됩니다. "hg branch"를 입력하는 것을 포함하지 않습니다. :) –

4

, 아직 파일을 커밋하지 않은 경우, 단지 입력 : 모든 파일이 새로운 지점에 최선을 다하고 될이 시점에서 개최

$ git checkout -b newbranch 
$ git commit -m "a message" 

. 의욕를 들어

, 지점은 기본적으로 이름이 아닌, 새로운 분기에만 커밋 아이 커밋 이미 가지고있는 부모가있는 경우 (하나 개의 repo 이내) 발생

enter image description here

그러나 당신이 할 수있는을 에 대한 새로운 지점 이름을 만들려면 다음 커밋 :

hg branch branch-1   # start a new branch name 
          # modify something in the repository 
hg commit -m "branch-1"  # the changeset has branch name "branch-1" 

(A Guide to branching in Mercurial보기, 및 Git & Mercurial models)

+0

OP는 _existing_ 브랜치를 검사해야하므로'git checkout -b'와'hg branch' 대신'git checkout newbranch'과'hg update branch-1'을 사용하여 브랜치로 전환해야합니다. (그리고 나는이 두 명령 모두 작업 트리에서 수정 된 파일을 망쳐 놓지 않아야한다고 생각합니다.) – idbrii

관련 문제