2012-04-06 20 views
32

Posiadam oddział z aktualnymi źródłami i przez długi czas nie podejmowałem żadnych zobowiązań, aw tej chwili jest on całkowicie nieaktualny. Chcę po prostu zastąpić zawartość mistrza treścią mojego oddziału. Jednym ze sposobów, aby to zrobić, jest zamówienie zarówno oddziału i głównego, usunięcie zawartości master'a i skopiowanie zawartości z oddziału do wzorca, a po tym wyniku push do opanowania.Git - przenieś gałąź do mistrza

Działa, ale uważam, że musi istnieć jakaś komenda Git, aby zrobić to w prostszy sposób.

Czy ktoś wie, jak to zrobić?

+0

Skąd wiadomo, że nic nie ma wartości nadrzędnej? Możesz sprawdzić za pomocą "gałęzi rejestru git..master", czy istnieją jakieś zatwierdzenia w systemie głównym, a nie w oddziale. Jeśli są jakieś, to "git checkout master"; git merge branch "zawiera zmiany w tych commitach. – Kent

Odpowiedz

56

można użyć następującego polecenia, aby mieć punkt głównego do nowej lokalizacji:
git branch -f master branchToMoveMasterTo

Co to rzeczywiście robi tworzy nowy oddział o nazwie master wskazujący na branchToMoveMasterTo. Ponieważ mamy już oddział o nazwie master, potrzebujemy flagi -f, aby powiedzieć, że chcemy usunąć oryginalny kod: master

+0

Ta odpowiedź powinna zostać zdecydowanie przyjęta! – user984621

+4

dziękuję jezus – dezman

+0

To działa dobrze. Ale czy istnieje sposób na zachowanie historii starego mistrza? Chodzi mi o to, jak może wyglądać zwykłe zatwierdzenie, ale zmienia wszystko? –

Powiązane problemy