2013-01-17 13 views
51

Mam lokalne repozytorium git, które jest klonem repozytorium na github. Ktoś rozwidlał repozytorium i wprowadzał zmiany w nowej gałęzi w nowym repozytorium. Chcę przenieść tę nową gałąź do mojego repozytorium (lokalnie do pracy nad nią najpierw przed połączeniem się z wzorcem).Git ciągnie gałąź z innego repozytorium?

Próbowałem tworzyć nowy oddział, a następnie wyciągając z rozwidloną repozytorium ale narzeka, ponieważ nowy oddział jest kopią głównego oddziału, jak również lokalnych zmian w plikach, więc to mówi

error: Your local changes to the following files would be overwritten by merge.

Jak mogę więc pobrać gałąź w innym repozytorium do nowej gałęzi w moim lokalnym repozytorium?

Mam nadzieję, że ma to sens. Jeśli nie, to jest mój repozytorium: https://github.com/MatthewLM/cbitcoin

Jak widać, ktoś stworzył nowe repozytorium z branży „linuxBuild”: https://github.com/austonst/cbitcoin/tree/linuxBuild

chcę tę gałąź na moim lokalnym repozytorium MatthewLM/cbitcoin.

Jak mogę to zrobić?

Odpowiedz

102

Należy upewnić się, że git status pokazuje, że w lokalnym repozytorium nie istnieją żadne zmiany niesklasyfikowane.
Możesz to zrobić, najpierw ukrywając lokalne zmiany, a następnie odciągając gałąź. Potem możesz zastosować swoją skrytkę.


Jeśli chcesz ponownie utworzyć strukturę oddziałów z widelcem w lokalnym repozytorium, można wykonać następujące czynności:

git remote add fork <url of fork> 
git fetch fork 
git checkout -b fork_branch fork/<branch> 

Spowoduje to utworzenie lokalnego oddziału z tą samą historią jak <branch> w widelcu, tzn. rozgałęzi się z master, gdzie <branch> robi w widelcu. Dodatkowo, twój lokalny oddział będzie teraz śledził gałąź w widelcu, dzięki czemu możesz łatwo pobrać nowe zmiany wprowadzone w widelcu.

Myślę, że nadal trzeba się upewnić, że kopia robocza nie zawiera żadnych zmian.

+0

OK, dziękuję. Byłoby wspaniale, gdybym chciał, aby moje lokalne zmiany i commits nie zostały znalezione w oddziale z widelca. Ale co jeśli chcę, aby nowa gałąź była dokładnie taka, jaka jest w repozytorium widelców? Obejmuje to usunięcie wszelkich zatwierdzeń z mojego własnego repozytorium po tym, jak widelec się wydarzył dla tego nowego oddziału. W ten sposób byłoby tak, jakby gałąź została utworzona w moim własnym repozytorium, a nie rozgałęziona. –

+0

Cóż, twoja odpowiedź jest akceptowalnym rozwiązaniem tego, co muszę zrobić, ale byłbym bardziej przekonany, gdybym mógł wyciągnąć nową gałąź do repozytorium. Poczekam chwilę, żeby zobaczyć, co mówią inni. –

+0

@MatthewMitchell: Sprawdź aktualizację. Czy tego właśnie szukałeś? –

Powiązane problemy