Zrobiłem serię niemych kroków z moją lokalną kopią naszego wspólnego repozytorium, i szukam sposobu, jak naprawić to. Kroki są:Jak pchać, bez tworzenia nowych głów, po utworzeniu wielogłowicowej gałęzi, rebelacji i kilku scaleń
Kiedyś zakładki mają wiele głów gałęzi rozwojowej, że inni ludzie używają:
-o---o---o-----o--- <- dev branch \----1----1------ <- another head of the dev branch, where I committed stuff
I stworzył nowy oddział, nadal lokalne, jakiś czas później
/---------------x <- new branch -o---o---o-----o--- <- dev branch \----1----1------ <- another head of the dev branch, where I committed stuff
na jedną głowę, że zawiera tylko mój kod, zrobiłem rebase na innym oddziale
/-1'--1'-- <- rebase /---------------x <- new branch -o---o---o-----o--- <- dev branch \----1----1------ <- another head of the dev branch, where I committed stuff
wtedy, ja połączył rebase, a następnie kilka zobowiązuje później połączyła domyślny
----------d-\ <-default \ /-1'--1'\ \ /---------------x--------x--x-x-x-- <- new branch -o---o---o-----o--- \----1----1------
Teraz chciałem pchnąć mój nowy oddział do serwera (hg push --new-branch -b newBranch
) , ale dostaję abort: push creates new remote head
, ponieważ zobowiązania 1'
należą do oddziału dev.
Co należy robić? Chciałbym uniknąć tworzenia tej dodatkowej głowy.
Aktualizacja:
na życzenie, jest to wyjście hg heads
:
changeset: 839:f2033d695fcd <- want to push this
branch: newBranch
tag: tip
user: me
date: Wed Oct 31 13:05:51 2012 +0100
changeset: 826:7fde19d7f467
branch: devBranch
user: my-collegue
date: Tue Oct 23 14:59:42 2012 +0200
changeset: 820:23853bbf68df <- the part after rebase that got merged
branch: devBranch
user: me
date: Mon Oct 22 15:36:26 2012 +0200
changeset: 807:899344cfb145 <- obsolete (branch with 1's)
branch: devBranch
parent: 711:454f29c03fb1
user: me
date: Mon Oct 22 15:36:26 2012 +0200
changeset: 712:d5e8a62a7f5f <- default, needs to stay
parent: 648:2bbcc01aa191
user: me
date: Wed Aug 22 16:21:09 2012 +0200
Nie używaj "rysowania" z wolnej ręki - masz polecenia konsoli i możliwość wklejania poleceń wypisanych w pytaniu ** sformatowane ** ('hg log' lub' hg glog' dla drzewa tutaj i na http: // stackoverflow.com/questions/11982648/reassigning-local-commits-to-a-different-branch-in-rcrurial, na przykład). Póki co, proszę, dodaj wynik "hg heads" z komentarzem - który to nagłówek jest przestarzały i nie może istnieć (całkowicie lub tylko w push-target). Przeczytaj także o opcji -r w poleceniu push –
Hi @LazyBadger, nie mogę podać wyjścia "log", ponieważ jest o wiele więcej zatwierdzeń niż opisałem, a także zapomniałem dokładnych poleceń, które wykonałem, aby dostać się do ten stan ... Pytanie zaktualizowane, aby zawierało wyniki głowic. Nie rozumiem twojego odniesienia do opcji '-r', jak/dlaczego powinno to pomóc? –
dokładne polecenia nie są potrzebne w tym przypadku - ** ty ** (nie ja) muszę zobaczyć drzewo devBranch (od wspólnego rodzica 807 i 820 do 826), zdefiniuj * możliwość * (i * konieczność *) połączenie głów DevBranch. Lub po prostu 'push -r f2033d695fcd' będzie wystarczający –