2012-04-02 13 views
10

Moje środowisko pracy ma dokładnie jedną gałąź ze zdalnym towarzyszem Github. Próbuję wykonać git pull --rebase, aby uniemożliwić git push tworzenie komunikatów o scalaniu, które nie dostarczają nowych informacji innym osobom pracującym nad tym projektem i po prostu wyśmiewają prace. Ale kiedy próbuję tego, daje mi to:"git pull --rebase" prowadzi do "Nie można dokonać ponownego podziału na wiele gałęzi"

From https://github.com/our_profile/our_repository 
* branch   HEAD  -> FETCH_HEAD 
Cannot rebase onto multiple branches 

I ciągnie się przerywa. Dzwoniąc pod numer git branch informuje mnie, że mam tylko jeden oddział na mojej lokalnej maszynie, więc o co chodzi?

+0

Tak, i wykonanie * 'git pull --rebase' * na drugi czas działa! To dlatego, że podczas pierwszego działania git pobierał dane, tak że zdalne i lokalne oddziały główne zaczęły wskazywać to samo zatwierdzenie. –

Odpowiedz

9

Spróbuj określić dokładnie co zdalny oddział chcesz ciągnąć:

git pull --rebase origin branch 

Alternatywnie można również git fetch wszystkie zmiany od pierwszego zdalnego repozytorium, a następnie zmieniają bazę ręcznie:

git rebase origin/branch 
+0

To prawie zadziałało, ale skończyło się na tym, że spowodowało problemy związane z oznaczaniem wielu plików do usunięcia. Musiałem wejść do GUI, aby zapisać pracę, którą wykonałem na nich. – bourgtai

+0

Czy wiesz, dlaczego ta sytuacja miała miejsce? – dbn

-2

najprostsze rozwiązanie Odkryłem, że należy użyć menu kontekstowego TortoiseGit "Git Sync". W tym jest sposób na pobranie & rebase na aktualnej gałęzi roboczej.

+0

Myślałem, że polecenie git pull było domyślnie pobierane, co jest widoczne we wszystkich wiadomościach dotyczących pobierania, które są dostarczane. Co dodaje powyższy fragment? – Hazok