Co się dzieje, kiedy git fetch remote branch:branch && git co branch?
Samy Dindane
Odpowiedzi:
280
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.
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):
Czy istnieje sposób na utworzenie lokalnego oddziału bez określania nazwy, tak aby automatycznie przyjmował taką samą nazwę jak zdalna gałąź?
Dubslow
@Dubslow git checkout --track github/pu, patrz tutaj
Hinrich
25
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.
git fetch remote branch:branch && git co branch
?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”:
Lista wszystkich zdalnych oddziałów:
Utwórz nowy oddział lokalny (test) ze zdalnego oddziału github (pu):
Scal zmiany ze zdalnego oddziału github (pu) z lokalnym oddziałem (test):
Zaktualizuj zdalny oddział github (pu) z lokalnego oddziału (test):
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):
Usuń zdalną gałąź (pu) z github:
źródło
git checkout --track github/pu
, patrz tutajMożesz sprawdzić, czy zdalna konfiguracja jest prawidłowa i masz odpowiednie uprawnienia za pomocą
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
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
spowoduje to utworzenie lokalnego oddziału o tej samej nazwie co zdalny oddział i sprawdzenie go.
źródło
Przetestowałem to, co zasugerował @Samy Dindane w komentarzu do OP.
Wierzę, że to działa, spróbuj
Oto przykład fikcyjnego zdalnego repozytorium o nazwie
foo
z gałęzią o nazwie, wbar
której tworzę lokalną gałąźbar
śledzącą zdalną:źródło
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łęzieTeraz 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źródło
Jeśli zdalna gałąź już istnieje, możesz (prawdopodobnie) uciec ...
a git automatycznie skonfiguruje śledzenie zdalnej gałęzi o tej samej nazwie w miejscu pochodzenia.
źródło