Mam skonfigurowanego Git tak, że po uruchomieniu git push
wypycha zmiany do mojego repozytorium GitHub. Do tej pory miałem tylko główną gałąź.
Jednak utworzyłem teraz oddział lokalny i zobowiązałem się do tego za pomocą:
git checkout -b my_new_branch
git commit
To, co chciałbym teraz zrobić, to przesłać zmiany w tej gałęzi do GitHub. Czy po prostu robię git push?
Kiedy po raz pierwszy go skonfigurowałem, uruchomiłem:
git config push.default current
push.default
ustawieniu w ten sposób tak,git push
przeniesie bieżącą gałąź do źródła, czyli repozytorium Github, zakładając, że sklonowałeś stamtąd. (Możesz wybrać innego pilota,branch.my_new_branch.remote
jeśli chcesz.) Więc próbowałeś tego i nie działało?Odpowiedzi:
Wydaje mi się, że szukasz
git push origin my_new_branch
, zakładając, że twój pierwotny pilot jest skonfigurowany do trafiania w repozytorium github.źródło
git branch --set-upstream-to=origin/my_new_branch my_new_branch
W zależności od lokalnych ustawień git, jeśli masz wyewidencjonowaną gałąź, która nie jest tą, którą sklonowałeś, lub taką, która istnieje tam, gdzie próbujesz wypchnąć, git nie prześle twojego lokalnego oddziału.
Oto wiadomość, którą przekazuje:
źródło
Jeśli jesteś naprawdę leniwy, możesz wypchnąć wszystkie lokalne oddziały , po prostu używając
źródło
Jeśli skonfigurowałeś git do wysyłania do głównego repozytorium GitHub, bez względu na to, w jakiej gałęzi jesteś, będzie on przekazywał do twojego głównego repozytorium GitHub.
Pamiętaj, że jeśli wielu programistów pracuje w tym samym repozytorium, możesz uzyskać konflikt.
źródło