2012-01-17 13 views
11

Pracuję nad projektem i utworzyłem repozytorium z odgałęzieniem master. Ktoś, kto nad nim pracuje, dodał oddział o nazwie new-branch - zmiany jego kodu znajdują się w tej gałęzi.Tylko gałąź główna jest widoczna po klonowaniu repozytorium Git

Jednak, kiedy sklonować repozytorium

$ git clone [email protected]:me/my-repo.git 

mogę sklonować go pomyślnie, ale to tylko pokazuje master oddział. Nie wiem, jak mogę wyświetlić/uzyskać new-branch.

Jak mogę pobrać tę gałąź do mojego repozytorium?

+0

Tylko dla rekordu - 'pull! = Clone'. W 'git' są to dwie bardzo różne koncepcje. – twalberg

Odpowiedz

25

Po skopiowaniu repozytorium wszystkie zdalne gałęzie są tworzone w repozytorium jako "odległe gałęzie śledzenia". Te nie są wyświetlane domyślnie, ale można zobaczyć je z:

git branch -a 

Jeśli do git checkout new-branch git znajdzie zdalnego śledzenia oddział o tej samej nazwie, automatycznie utworzyć nowy lokalny oddział z tego samego popełnić i przejdź do nowego lokalnego oddziału.

Do przyszłej pracy, komenda git fetch zaktualizuje wszystkie odległe gałęzie śledzenia o ich ostatnie zatwierdzenie z pilota.

+0

Nie wiedziałem, że działało - myślałem, że potrzebujesz -b przy kasie, aby utworzyć nowy oddział –

+0

@Adrian Cornish: to zachowanie DWIM jest obecne od git 1.6.6, wprowadzone w [70c9ac2f] (https://github.com/git/git/commit/70c9ac2f1999b7e0c17a864235537cffe29dfea4) –

+0

Co się stanie, jeśli połączenie zostanie przerwane? "odległe gałęzie śledzenia" brzmią, jakby nie były fizycznie obecne w klonowanym repo. Czy git checkout działałby, gdybym właśnie znalazł go przez gałąź git -a w stanie rozłączenia? Czy gałąź git - w ogóle podaje gałąź w tym stanie? – timmkrause

Powiązane problemy