2010-12-24 17 views
37

Mam jedno repo w github, które jest publiczne, tam mam aplikację Open source, nad którą pracuję, która służy do tworzenia katalogów produktów i małej zawartości cms.Czy można pobrać z jednego repo i przejść do drugiego?

Posiadam również prywatne repozytorium (nie hostowane w github), które jest aplikacją opracowaną w ramach aplikacji open source hostowanej w github.

Ponieważ obecnie pracuję nad obydwoma aplikacjami, dodam funkcje w otwartym kodzie źródłowym, a także wprowadzam zmiany w prywatnym, takie jak zmiana szablonu, a także ściąganie kodu z kodu źródłowego.

Zastanawiam się, czy jest jakiś sposób, w jaki mogę wyciągnąć nowe rzeczy z otwartego źródła, ale również przesłać kod nowej aplikacji do innego repo.

Odpowiedz

10

git pull private master i git push github master ściąga z twojego prywatnego repo (o nazwie tak jak to) i popycha do github (może również nazywać się origin). To nie SVN ;-)

+0

coś git pull zazwyczaj wyciągnąć z otwartego źródła odkąd sklonowany repo od github. Tak więc push będzie następująco: git push origin [email protected]: repo.git? – chopi321

+0

Jeśli repozytorium github jest miejscem, z którego sklonowałeś, to prawdopodobnie repo jest 'originem ', więc rób co powiedział Tass, ale zamień' github' na 'origin' (i oczywiście zamień' private' na nazwę prywatnego repozytorium) . Zobacz http://www.kernel.org/pub/software/scm/git/docs/git-remote.html – MatrixFrog

+0

Dla moich kolegów noobs, chciałbym tylko wskazać, że z mojego dzisiejszego doświadczenia, musisz zamienić całe repo URL dla "github" w "git push github master". – CodeWalrus

74

Set URL nacisk na pilocie, który różni się od adresu URL rozwijanego:

git remote set-url --pushorigin[email protected]:repo.git

Zmienia ustawienie remote.name.pushurl konfiguracji. Następnie git pull pobierze z oryginalnego URL-a klonu, ale git push popchnie się na drugi.


W starej wersji Git, git remote set-url nie mają przełącznika --push. Bez niej, trzeba to zrobić poprzez zmianę konfiguracji ustawienia ręcznie:

git config remote.origin.pushurl[email protected]:repo.git
+5

+1 dokładnie to, czego szukałem. – Tivie

+0

Używam tego samego teraz. – Reactormonk

+0

Nieco bardziej jednoznacznie: 'git remote set-url - wypchnij origin [email protected]: repo.git' – diapir

Powiązane problemy