2012-02-25 3 views
-1

다음은 내가 한 일입니다. 나는 두 명의 머리가 필요하지 않습니다. 이 문제를 어떻게 해결할 수 있습니까? 다시 하나에 두 개의 머리를 병합하라는 메시지를 표시합니다머큐리얼 헤드

~/src: hg push 
pushing to ssh://[email protected]/Neil/project 
ruprojecting ssh [email protected] 'hg -R Neil/project serve --stdio' 
searching for changes 
new remote heads on branch 'default' 
new remote head e04226a528b5 
abort: push creates new remote head e04226a528b5! 
(did you forget to merge? use push -f to force) 

~/src: hg push -f 
pushing to ssh://[email protected]/Neil/project 
ruprojecting ssh [email protected] 'hg -R Neil/project serve --stdio' 
searching for changes 
14 changesets found 
remote: adding changesets 
remote: adding manifests 
remote: adding file changes 
remote: added 14 changesets with 30 changes to 67 files (+1 heads) 
remote: bb/acl: Neil is allowed. accepted payload. 

~/src: hg pull 
ruprojecting ssh [email protected] 'hg -R Neil/project serve --stdio' 
pulling from ssh://[email protected]/Neil/project 
searching for changes 
no changes found 

~/src: hg heads 
changeset: 1177:e04226a528b5 
tag:   tip 
parent:  1175:b5f77a454e64 
user:  Neil 
date:  Sat Feb 25 09:12:48 2012 -0800 
files:  src/experiments/distribution_combination.py 


changeset: 1176:f7cc8d94f4f3 
parent:  1162:b680e6f93f80 
user:  Neil 
date:  Thu Feb 23 15:32:36 2012 -0800 
files:  .hgignore src/CMakeLists.txt etc. 
+0

-1 : 그것에 대한 의견이없는 출력이 복사 되었기 때문에 –

답변

3
hg merge 

. 오히려 자동으로 수행 할 수있는 모든 작업을 병합하고 충돌에 대해 알려줍니다. 그런 다음 결과를 차별화하고 새로운 변경 목록으로 제출할 수 있습니다.

3

이것은 대개 마지막으로 뽑은 이후 다른 사람이 푸시했다는 표시입니다. 밀어 넣기를 강제하기 위해 -f 플래그를 제공 할 수 있지만 앞에서 보았 듯이 새로운 헤드가 생성됩니다.

해결 방법은 병합 할 헤드로 업데이트하고 hg merge를 실행 한 다음 커밋/밀어 넣기를 실행하는 것입니다.

+0

감사합니다.하지만 쓰기 권한이있는 유일한 사람입니다. 어떻게 이런 일이 있었는지 궁금해? –

+0

여러 대의 컴퓨터를 동시에 개발합니까? 나는 집에서 어떤 일을 밀어 붙이는 상황에 처했지만 직장에 갔을 때 나는 내 자신의 일에 대해 잊어 버린 다른 벌레를 고치기 시작했다. – computrius

+0

흠 ... 나는 이것을 염두에 두겠다.하지만 나는 하나의 개발 기계 만 가지고있다. –

4

추가 머리를 원하지 않는 경우 - 그것을

벙어리 푸시 -f 대신을하지 않는다 : HG 을 병합

  • 은 HG 들어오는 & & HG
  • 를 당겨
  • hg 커밋
  • hg push