Używam github od stosunkowo krótkiego okresu i zawsze używałem klienta do wykonywania zatwierdzeń i wyciągnięć. Postanowiłem wypróbować go wczoraj z git bash i pomyślnie utworzyłem nowe repo i zatwierdzone pliki.
Dzisiaj zrobiłem zmiany w repozytorium z innego komputera, zatwierdziłem zmiany i teraz wróciłem do domu i wykonałem git pull
aktualizację mojej wersji lokalnej i otrzymuję to:
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream develop origin/<branch>
jedynym uczestnikiem tego repozytorium jest ja i nie ma żadnych oddziałów (tylko master). Jestem na Windowsie i wykonałem ściąganie z git bash:
status git:
$ git status
# On branch master
nothing to commit, working directory clean
oddział git:
$ git branch
* master
Co ja robię źle?
git remote -v
? Co to mówi?git pull
.git pull --set-upstream-to=origin/master master
jest możliwy. Zobacz moją odpowiedź poniżejOdpowiedzi:
Możesz określić gałąź, którą chcesz pobrać:
Możesz też skonfigurować go tak, aby lokalna gałąź master śledziła gałąź github master jako upstream:
To śledzenie gałęzi jest konfigurowane automatycznie po sklonowaniu repozytorium (tylko domyślna gałąź), ale jeśli dodasz pilota do istniejącego repozytorium, musisz skonfigurować śledzenie samodzielnie. Na szczęście rada udzielona przez git ułatwia zapamiętanie, jak to zrobić.
źródło
git branch -u origin/master
, zakładając, że już sprawdziłeś master. Jeśli nie,git branch -u origin/master master
zadziała.--set-upstream-to=
składni. (który zastępuje--set-upstream
)fetch
zostanie utracone. Stąd potrzeba ponownej konfiguracji. :)Zobacz: tag git checkout, git pull kończy się niepowodzeniem w gałęzi
Jeśli tak jak ja, musisz to robić cały czas, możesz ustawić alias, aby zrobić to automatycznie, dodając następujące elementy do swojego
.gitconfig
pliku:Po wyświetleniu komunikatu
There is no tracking information...
uruchom:Dzięki https://zarino.co.uk/post/git-set-upstream/
źródło
.gitconfig
w jednym wierszu (może być odpowiednio zmodyfikowany dla konfiguracji lokalnych lub innych):git config --global alias.set-upstream '!git branch --set-upstream-to=origin/$(git symbolic-ref --short HEAD)'
Odpowiedź ComputerDruid jest świetna, ale nie sądzę, że konieczne jest ręczne ustawienie upstream, chyba że chcesz. Dodaję tę odpowiedź, ponieważ ludzie mogą pomyśleć, że to konieczny krok.
Ten błąd zniknie, jeśli określisz pilota, który chcesz wyciągnąć, jak poniżej:
Zauważ, że
origin
jest to nazwa pilota imaster
nazwa oddziału.1) Jak sprawdzić nazwę pilota?
2) Jak sprawdzić, jakie gałęzie są dostępne w repozytorium.
źródło
Często napotykam ten dokładny komunikat, ponieważ tworzę lokalne oddziały
git checkout -b <feature-branch-name>
bez wcześniejszego tworzenia oddziału zdalnego.Po tym, jak cała praca została zakończona i zatwierdzona lokalnie, wprowadzono poprawkę,
git push -u
która utworzyła zdalną gałąź, wypchnęła całą moją pracę, a następnie adres URL żądania scalenia.źródło
git push -u origin <my-feature-branch-name>
, aby utworzyć zdalny oddział i pchnąć moją pracęPróbowałem powyższych przykładów i nie mogłem ich zsynchronizować z gałęzią (inną niż master), którą utworzyłem na innym komputerze. W tle utworzyłem to repozytorium na komputerze A (git v 1.8), a następnie sklonowałem repozytorium na komputerze B (git 2.14). Dokonałem wszystkich zmian na komputerze B, ale kiedy próbowałem pobrać zmiany na komputer, AI nie było w stanie tego zrobić, otrzymując ten sam powyższy błąd. Podobnie do powyższych rozwiązań, musiałem zrobić:
nieco inny, ale mam nadzieję, że komuś pomoże
źródło
próbować
mam nadzieję, że ta odpowiedź pomoże pierwotnie odpowiedzieć tutaj https://stackoverflow.com/a/55015370/8253662
źródło
Z Git 2.24 nie musisz tego robić
Będziesz mógł zrobić:
Zobacz więcej w „ Domyślny zdalny i rozgałęziający się przy użyciu
-u
opcji - działa zpush
ale niepull
”.źródło
1) Git Branch --set-upstream-to = origin /
<master_branch>
feature /<your_current_branch>
2) Git Pull
źródło
$ git branch --set-upstream-to=heroku/master master
ipracował dla mnie!
źródło
To samo zdarzyło mi się wcześniej, kiedy stworzyłem nową gałąź git, nie wypychając jej do źródła.
Najpierw spróbuj wykonać te dwa wiersze:
Następnie:
Teraz powinno być dobrze!
źródło
Dzieje się tak, ponieważ bieżąca gałąź nie ma śledzenia na gałęzi na pilocie. więc możesz to zrobić na 2 sposoby.
źródło
git branch --set-upstream-to = origin / main
źródło