Odpowiedzi:
Nie jestem pewien, czy próbujesz utworzyć zdalny oddział z lokalnego oddziału, czy odwrotnie, więc nakreśliłem oba scenariusze, a także podałem informacje na temat łączenia oddziałów zdalnych i lokalnych.
Tworzenie pilota o nazwie „github”:
git remote add github git://github.com/jdoe/coolapp.git
git fetch github
Lista wszystkich zdalnych oddziałów:
git branch -r
github/gh-pages
github/master
github/next
github/pu
Utwórz nowy oddział lokalny (test) ze zdalnego oddziału github (pu):
git branch test github/pu
git checkout test
Scal zmiany ze zdalnego oddziału github (pu) z lokalnym oddziałem (test):
git fetch github
git checkout test
git merge github/pu
Zaktualizuj zdalny oddział github (pu) z lokalnego oddziału (test):
git push github test:pu
Tworzenie nowego oddziału na zdalnym używa tej samej składni, co aktualizacja zdalnego oddziału. Na przykład utwórz nową zdalną gałąź (beta) na github z lokalnego oddziału (test):
git push github test:beta
Usuń zdalną gałąź (pu) z github:
git push github :pu
Możesz sprawdzić, czy zdalna konfiguracja jest prawidłowa i masz odpowiednie uprawnienia za pomocą
git ls-remote origin
jeśli nazwiesz swoje zdalne „źródło”. Jeśli pojawi się błąd, prawdopodobnie nie masz poprawnie skonfigurowanych zabezpieczeń, takich jak na przykład przesyłanie klucza publicznego na github. Jeśli wszystko jest skonfigurowane poprawnie, otrzymasz listę zdalnych odniesień. Teraz
git fetch origin
będzie działać poza wszelkimi innymi problemami, takimi jak odłączony kabel sieciowy.
Gdy to zrobisz, możesz uzyskać dowolną gałąź, z którą wymienione jest powyższe polecenie
git checkout some-branch
spowoduje to utworzenie lokalnego oddziału o tej samej nazwie co zdalny oddział i sprawdzenie go.
Przetestowałem to, co zasugerował @Samy Dindane w komentarzu do OP.
Wierzę, że to działa, spróbuj
git fetch <remote_name> <remote_branch>:<local_branch>
git checkout <local_branch>
Oto przykład fikcyjnego zdalnego repozytorium o nazwie fooz gałęzią o nazwie, w barktórej tworzę lokalną gałąź barśledzącą zdalną:
git fetch foo bar:bar
git checkout bar
Oto pełny proces tworzenia lokalnego repozytorium i przekazywania zmian do nowej zdalnej gałęzi
Tworzenie repozytorium lokalnego: -
Początkowo użytkownik mógł utworzyć lokalne repozytorium git.
$ git init : - To spowoduje, że folder lokalny stanie się repozytorium Git,
Połącz zdalną gałąź : -
Teraz wyzwaniem jest skojarzenie lokalnego repozytorium git ze zdalną gałęzią główną .
$ git remote add RepoName RepoURL
użycie: git remote add []
Przetestuj pilota
$ git remote show ---> Wyświetl nazwę pilota
$ git remote -v ---> Wyświetl zdalne gałęzie
Teraz Push to remote
$git add . ----> Dodaj wszystkie pliki i foldery jako git staged '
$git commit -m "Your Commit Message" - - -> Zatwierdź wiadomość
$git push - - - -> Prześlij zmiany do nadawcy
Jeśli zdalna gałąź już istnieje, możesz (prawdopodobnie) uciec ...
git checkout branch_name
a git automatycznie skonfiguruje śledzenie zdalnej gałęzi o tej samej nazwie w miejscu pochodzenia.
git fetch remote branch:branch && git co branch?