git - wyciąganie z określonej gałęzi

197

Sklonowałem repozytorium git na mój serwer deweloperów, a następnie przełączyłem się na gałąź deweloperów, ale teraz nie mogę wykonać ściągnięcia git, aby zaktualizować gałąź.

Jak zaktualizować kod na serwerze?

Alex
źródło

Odpowiedzi:

258

Zobacz stronę man git-pull :

git pull [options] [<repository> [<refspec>...]]

oraz w sekcji przykładów:

Połącz z bieżącym oddziałem zdalny oddział dalej:

$ git pull origin next

Więc wyobrażam sobie, że chcesz zrobić coś takiego:

git pull origin dev

Aby skonfigurować go tak, aby domyślnie działał w trybie deweloperskim:

git branch --set-upstream-to dev origin/dev
Cascabel
źródło
6
--set-upstreamFlaga jest przestarzała i zostanie usunięta. Rozważ użycie --tracklub --set-upstream-to Branch devskonfigurowanie do śledzenia zdalnego odgałęzienia dev od źródła”. Na przykład. git branch --set-upstream-to origin/dev
Nagendra Rao,
Edytuj to, aby odzwierciedlić wycofanie --set-upstream?
Scott Skiles,
Osobiście jestem zainteresowany przepływem, gdy chcę wyciągnąć jedną konkretną gałąź z pochodzenia, która nie została jeszcze pobrana i umieścić te obiekty w oddzielnej gałęzi, więc moja obecna gałąź nie zostanie scalona z tym, co ściągam.
Jurij Pozniak
43

Oto, co musisz zrobić. Najpierw upewnij się, że jesteś w oddziale, którego nie chcesz ciągnąć. Na przykład, jeśli masz gałąź master i develop i próbujesz pobrać gałąź develop, wtedy pozostań w gałęzi master.

git checkout master

Następnie,

git pull origin develop
gwiazda
źródło
5
To jest mylące. Jeśli chcę przeciągnąć zdalną gałąź „dev” do lokalnej gałęzi „dev”, pomyślałbym, że musisz pozostać w lokalnej gałęzi „dev”, a nie w żadnej innej gałęzi.
Rzym.
2
Czy to nie pobiera gałęzi zdalnego programowania, a następnie łączy ją z lokalnym mistrzem?
Brad P.,
2
Zrobiłem git checkout developi git pull origin developpracował dobrze. Musisz usunąć inny oddział, jeśli chcesz usunąć oddział lokalny lub zdalny ( git branch -d developlub git push origin --delete develop)
ChesuCR
bardzo mylące. Właśnie połączyłem gałąź, którą chciałem przetestować lokalnie na mistrzu :)
Fabian Bosler,
Jak mówi @roman, trzeba być w lokalnym oddziale.
woter324
15

Często łatwiej jest rozdzielić te dwa działania git pull. Pierwszą rzeczą, którą robi, jest aktualizacja lokalnego branc śledzenia, który odpowiada zdalnej gałęzi. Można to zrobić za pomocą git fetch. Drugim jest to, że następnie łączy się w zmiany, co oczywiście można zrobić git merge, chociaż inne opcje, które git rebasesą czasami przydatne.

wnoise
źródło
7

Przykład dokumentacji Laravela:

git pull https://github.com/laravel/docs.git 5.8

w oparciu o format polecenia:

git pull origin <branch>

👍

Erich García
źródło
5

Oto kroki, aby wyciągnąć konkretną lub dowolną gałąź,

1. sklonuj wzorzec (musisz podać nazwę użytkownika i hasło)

       git clone <url>

2. powyższe polecenie sklonuje repozytorium i będziesz teraz oddziałem głównym

       git checkout <branch which is present in the remote repository(origin)>

3. Powyższe polecenie spowoduje przejście do gałęzi, którą chcesz pobrać, i zostanie ustawione na automatyczne śledzenie tej gałęzi

4.Jeśli z jakiegoś powodu tak nie działa, po przejściu do tej gałęzi w systemie lokalnym, po prostu uruchom poniższe polecenie

       git pull origin <branch>
Vikas etagi
źródło
1

Możesz pobrać aktualizację / pobrać gałąź git, której możesz użyć poniżej polecenia

git pull origin <branch-name>

Powyższe polecenie pobierze aktualizację / pobranie od podania nazwy oddziału

Jeśli chcesz pobrać z innej gałęzi, musisz przejść do tej gałęzi.

git checkout master

Niż

git pull origin development

Mam nadzieję, że to zadziała

Nikunj K.
źródło
0

git-pull - Pobierz i zintegruj z innym repozytorium lub oddziałem lokalnym

git pull [options] [<repository> [<refspec>...]]

Możesz polecić oficjalny git doc https://git-scm.com/docs/git-pull

Np .:

git pull origin dev

sesha
źródło
Czym różni się twoja odpowiedź od innych już opublikowanych?
j08691,
Tak, nic więcej tylko oficjalne dokumenty ( git-scm.com/docs/git-pull ), dzięki czemu można dużo zbadać opcje.
sesha
0

jeśli chcesz pobrać z określonej gałęzi, wszystko co musisz zrobić, to

git pull 'remote_name' 'branch_name'

UWAGA: Najpierw upewnij się, że kod został zatwierdzony.

Ali Hassan
źródło