de-vraag
  • Pytania
  • Tagi
  • Użytkownicy
Powiadomienia
Nagrody
Rejestracja
Po zarejestrowaniu się, będziesz otrzymywać powiadomienia o odpowiedziach i komentarzach do swoich pytań.
Zaloguj się
Brak tłumaczeń pasujących do Twojego wyszukiwania Jeśli masz już konto, zaloguj się, aby sprawdzić nowe powiadomienia.
Za dodane pytania, odpowiedzi i komentarze przewidziane są nagrody.
Więcej
Źródło
Edytuj
 David
David
Question

Git pobiera zdalną gałąź

Mój kolega i ja pracujemy nad tym samym repozytorium, rozgałęziliśmy je na dwie gałęzie, każda technicznie dla innego projektu, ale mają one podobieństwa, więc czasami będziemy chcieli popełnić commit z powrotem do *master`` zgałęzi`.

Jednakże, ja mam gałęzie. Moje pytanie brzmi: **jak mój kolega może wyciągnąć tę gałąź specjalnie?

A git clone of the repo nie wydaje się tworzyć gałęzi lokalnie dla niego, chociaż widzę je na żywo na unfuddle po pchnięciu z mojej strony.

Również, kiedy pierwotnie utworzyłem gałąź, zrobiłem -b checkout. ***Nie jestem pewien, czy to robi dużą różnicę?

$ git branch -r
origin/HEAD -> origin/master
origin/daves_branch
origin/discover
origin/master

$ git fetch origin discover
$ git checkout discover

To są komendy, które uruchomiłem. Ale to zdecydowanie nie działa.

Chcę móc sprawdzić tę gałąź, a następnie popchnąć i popełnić z powrotem tylko zmiany w gałęzi z różnych współpracowników lub stacji roboczych.

2066 2012-03-02T17:06:56+00:00 3
Nicolás  Alarcón Rapela
Nicolás Alarcón Rapela
Edytowane pytanie 22. stycznia 2019 в 1:35
Programowanie
git
branch
git-branch
git-fetch
Popular videos
How to checkout a remote Git branch
How to checkout a remote Git branch
2 lata temu
Updating Local Copies of Remote Branches - How to Use Git and GitHub
Updating Local Copies of Remote Branches - How to Use Git and GitHub
7 lat temu
git fetch and remote tracking branch demonstration
git fetch and remote tracking branch demonstration
8 lat temu
GIT oraz GitHub: Jak zacommitować kod? Jak utworzyć branch / gałąź czy Pull Request?
GIT oraz GitHub: Jak zacommitować kod? Jak utworzyć branch / gałąź czy Pull Request?
1 rok temu
Git i GitHub w 60 minut
Git i GitHub w 60 minut
1 rok temu
[Kurs Gita w praktyce] Czym są i jak działają tagi w gicie? git tag ⌨️ cz.21 (#56)
[Kurs Gita w praktyce] Czym są i jak działają tagi w gicie? git tag ⌨️ cz.21 (#56)
6 miesięcy temu
CO TO JEST GIT? Instalacja i pierwsze repozytorium
CO TO JEST GIT? Instalacja i pierwsze repozytorium
2 lata temu
Git Guts - stwórzmy repozytorium git w notatniku!
Git Guts - stwórzmy repozytorium git w notatniku!
2 lata temu
Git i Github - jak zacząć? Tutorial dla początkujących - cz1 | Kodilla
Git i Github - jak zacząć? Tutorial dla początkujących - cz1 | Kodilla
1 rok temu
Zdalne repozytorium - Push/clone z wykorzystaniem BitBucket [Kurs Git cz.8]
Zdalne repozytorium - Push/clone z wykorzystaniem BitBucket [Kurs Git cz.8]
1 rok temu
Jak używać GitHub w projekcie? [Podstawy GITa] [Projekt Youtube] #1
Jak używać GitHub w projekcie? [Podstawy GITa] [Projekt Youtube] #1
1 rok temu
[Kurs Gita w praktyce] Jak utworzyć repozytorium w GitHub i Bitbucket? ⌨️ cz.3 (#11)
[Kurs Gita w praktyce] Jak utworzyć repozytorium w GitHub i Bitbucket? ⌨️ cz.3 (#11)
1 rok temu
[Kurs Gita w praktyce] Git stash - Czym jest i jak z niego korzystać? ⌨️ cz.9 (#26)
[Kurs Gita w praktyce] Git stash - Czym jest i jak z niego korzystać? ⌨️ cz.9 (#26)
1 rok temu
Kurs Git od podstaw 1. Tworzenie repo i commitowanie zmian
Kurs Git od podstaw 1. Tworzenie repo i commitowanie zmian
10 miesięcy temu
[Kurs Gita w praktyce] Jak działa Git? Zaglądamy do katalogu .git ⌨️ cz.4 (#12)
[Kurs Gita w praktyce] Jak działa Git? Zaglądamy do katalogu .git ⌨️ cz.4 (#12)
1 rok temu
Git jest git! - dlaczego warto go używać?
Git jest git! - dlaczego warto go używać?
2 lata temu
[Kurs Gita w praktyce] Jak zainstalować Gita? ⌨️ cz.2 (#10)
[Kurs Gita w praktyce] Jak zainstalować Gita? ⌨️ cz.2 (#10)
1 rok temu
Wprowadzenie do Git #1 | Kurs Tutorial o instalacji Git, powłoki shell oraz podstawowych komendach
Wprowadzenie do Git #1 | Kurs Tutorial o instalacji Git, powłoki shell oraz podstawowych komendach
8 miesięcy temu
« Poprzedni
Następny »
To pytanie ma 1 odpowiedź w języku angielskim, aby je przeczytać zaloguj się na swoje konto.
Solution / Answer
 ralphtheninja
ralphtheninja
2. marca 2012 в 5:45
2012-03-02T17:45:18+00:00
Więcej
Źródło
Edytuj
#15580557

Musisz utworzyć lokalną gałąź, która będzie śledzić zdalną gałąź. Poniższe polecenie utworzy lokalny oddział o nazwie daves_branch, śledzący zdalną gałąź origin/daves_branch. Kiedy wprowadzisz swoje zmiany, zdalna gałąź zostanie zaktualizowana.

Dla najnowszych wersji git:

git checkout --track origin/daves_branch

--track jest skrótem od git checkout -b [branch] [remotename]/[branch] gdzie [remotename] jest origin w tym przypadku, a [branch] jest dwa razy tym samym, daves_branch w tym przypadku.

Dla git 1.5.6.5 potrzebowałeś tego:

git checkout --track -b daves_branch origin/daves_branch

Dla git 1.7.2.3 i wyższych jest to wystarczające (mogłem zacząć wcześniej, ale jest to najwcześniejsze potwierdzenie, które mogłem szybko znaleźć):

git checkout daves_branch

Zauważ, że z ostatnimi wersjami git, to polecenie nie utworzy lokalnego oddziału i umieści cię w 'odłączonym HEAD' stanie. Jeśli chcesz mieć lokalną gałąź, użyj opcji --track. Pełne szczegóły tutaj: http://git-scm.com/book/en/v2/Git-Branching-Remote-Branches#Tracking-Branches

Simeon Leyzerzon
Simeon Leyzerzon
Edytowana odpowiedź 20. listopada 2018 в 8:20
2804
0
Mark Mikofski
Mark Mikofski
19. kwietnia 2013 в 12:45
2013-04-19T00:45:34+00:00
Więcej
Źródło
Edytuj
#15580559

Użyłem fetch a następnie checkout...

git fetch <remote> <rbranch>:<lbranch> 
git checkout <lbranch>

...gdzie <rbranch> jest zdalną gałęzią lub źródłowym ref, a <lbranch> jest jeszcze nieistniejącą lokalną gałęzią lub destination ref, którą chcesz śledzić i którą prawdopodobnie chcesz nazwać tak samo jak zdalną gałąź lub ref źródłowy. Jest to wyjaśnione w options w wyjaśnieniu <refspec>.

Git jest na tyle inteligentny, że automatycznie wykona pierwszą komendę, jeśli tab po pierwszych kilku literach zdalnej gałęzi. IE: Nie muszę nawet nadawać nazwy lokalnej gałęzi, Git automatycznie skopiuje nazwę zdalnej gałęzi za mnie. Dzięki Git!.

Również jak odpowiedź w tym podobnym poście SO pokazuje, jeśli nie'nazwiesz lokalnego oddziału w fetch, nadal możesz go utworzyć, gdy go sprawdzisz, używając flagi -b. IE: git fetch <remote> <branch> a następnie git checkout -b <branch> <remote>/<branch> robi dokładnie to samo, co moja początkowa odpowiedź. I najwyraźniej jeśli twoje repo ma tylko jednego zdalnego, to możesz po prostu zrobić git checkout <branch> po fetch i to stworzy lokalny oddział dla ciebie. EG: Właśnie sklonowałeś repo i chcesz sprawdzić dodatkowe gałęzie ze zdalnego.

Wierzę, że część dokumentacji dla fetch mogła zostać skopiowana dosłownie z pull. W szczególności sekcja na <refspec> w options jest taka sama. Jednakże, nie wierzę, że fetch będzie kiedykolwiek merge, więc jeśli pozostawisz docelową stronę dwukropka pustą, fetch nie powinien nic robić.

UWAGA: To, że git fetch <remote> <refspec> jest skrótem od git fetch <remote> <refspec>:, który zatem nic nie zrobi, ale git fetch <remote> <tag> jest taki sam jak git fetch <remote> <tag>:<tag> który powinien skopiować zdalny <tag> lokalnie.

Domyślam się, że jest to pomocne tylko wtedy, gdy chcesz skopiować zdalny oddział lokalnie, ale niekoniecznie od razu go sprawdzić. W przeciwnym razie użyłbym teraz zaakceptowanej odpowiedzi powyżej, która jest szczegółowo wyjaśniona w pierwszej sekcji opisu kasy, a później w sekcji opcji pod wyjaśnieniem --track, ponieważ jest to 1-liner. Cóż... rodzaj 1-linera, ponieważ wciąż musiałbyś uruchomić git fetch <remote> najpierw.

FYI: Kolejność <refspecs> (źródło:miejsce docelowe) wyjaśnia dziwaczną metodę sprzed Git-1.7 dla usuwania zdalnych gałęzi. IE: Nie wpychaj niczego do refspeca docelowego.

 simhumileco
simhumileco
Edytowana odpowiedź 5. sierpnia 2019 в 1:42
913
0
Daniel Lee
Daniel Lee
2. marca 2012 в 5:16
2012-03-02T17:16:57+00:00
Więcej
Źródło
Edytuj
#15580556

Użyj git branch -a (zarówno lokalne jak i zdalne gałęzie) lub git branch -r (tylko zdalne gałęzie) aby zobaczyć wszystkie piloty i ich gałęzie. Możesz wtedy wykonać git checkout -t remotes/repo/branch na pilocie i stworzyć lokalną gałąź.

Istnieje również polecenie git ls-remote, aby zobaczyć wszystkie refy i tagi dla tego pilota.

Daniel Lee
Daniel Lee
Edytowana odpowiedź 25. września 2013 в 1:01
50
0
Dodaj pytanie
Kategorie
Wszystkie
Technologia
Kultura / Rekreacja
Życie / Sztuka
Nauka
Profesjonalny
Biznes
Użytkownicy
Wszystkie
Nowy
Popularny
1
Zuxriddin Muydinov
Zarejestrowany 12 godzin temu
2
Денис Анненский
Zarejestrowany 2 dni temu
3
365
Zarejestrowany 1 tydzień temu
4
True Image
Zarejestrowany 1 tydzień temu
5
archana agarwal
Zarejestrowany 1 tydzień temu
BG
DA
DE
EL
ES
FI
FR
ID
IT
JA
KO
LT
NL
PL
PT
RU
SK
SL
TR
ZH
© de-vraag 2022
Źródło
stackoverflow.com
na podstawie licencji cc by-sa 3.0 z przypisaniem