2013-03-26 18 views
5

Załóżmy jest oficjalnym repo utrzymywane nazywa O z oddziałami B1, B2 & B3.Rozwidlenie tylko specyficzna gałąź z GitHub repozytorium

Jeden użytkownik, który rozwidlił go na swoim koncie Github, utworzył dla siebie inny oddział o nazwie B4 i jest publicznie dostępny.

Mam również rozwidlenie tego samego oficjalnego repo, ale chcę również rozwidlić gałąź tego użytkownika B4 również bez wpływu na moją oryginalną kopię.

Nie mogę ponownie otworzyć całego oficjalnego repo, ponieważ wykonałem kilka niestandardowych gałęzi dla siebie.

Jak mogę rozwidlić konkretną gałąź na moje repozytorium Githuba?

Odpowiedz

3

Możesz pobrać swoją gałąź do lokalnego repozytorium git, a następnie przenieść ją do repozytorium GitHub.

pierwsze, dodać pilota do tego innych użytkowników męska GitHub stronie

git remote add other-user http://github.com/otheruser/repo 

Następnie zrób lokalną kasę tej branży w swoim repo.

git checkout -b B4 other-user/B4 

Wreszcie, przesuń gałąź do repo hostowanego na GitHub.

git push origin B4:B4 
+0

Daje to błąd krytyczny. Adres URL repozytorium użytkownika jest podobny do "user/repo/tree/sg/search". Dodałem tę ścieżkę tylko do zdalnego. – xan

+0

Jaki jest dokładnie adres URL podany podczas dodawania pilota? – keelerm

+0

http://github.com/user/repo/tree/sg/search – xan

3

Dodaj repozytorium użytkownika jako „zdalnego repozytorium” swojego katalogu roboczego:

git remote add someuser git://github.com/someuser/somerepo.git 

Gdy już to zrobisz, musisz pobrać zmiany z repozytorium użytkownika. Później możesz to zrobić w dowolnym momencie, nie wpływając na nic innego w lokalnym repozytorium.

git fetch someuser 

i oddział że Użytkownika B4 na własną rękę B5:

git checkout -b B5 someuser/B4 

Oznacza to, że stworzenie nowego oddziału (-b) nazywa B5 korzystając someuser/B4 jako punkt wyjścia.

+0

Do tej pory zrobiłem wszystko, co poleciłeś. Robiąc 'git branch -r' pokazuje repo na zdalnym'/someuser'. Jak mogę go przekazać na moje repozytorium Githuba? – xan

+0

Znajdź nazwę zdalnego repozytorium Github. Prawdopodobnie jest to 'origin', ale możesz to sprawdzić za pomocą' git remote -v'. Następnie uruchom 'git push origin B5'. – legoscia

Powiązane problemy