Pertama, klon repositori Git jarak jauh dan masukkan ke dalamnya:
$ git clone git://example.com/myproject
$ cd myproject
Selanjutnya, lihat cabang lokal di repositori Anda:
$ git branch
* master
Tetapi ada cabang-cabang lain yang bersembunyi di repositori Anda! Anda dapat melihat ini menggunakan -a
flag:
$ git branch -a
* master
remotes/origin/HEAD
remotes/origin/master
remotes/origin/v1.0-stable
remotes/origin/experimental
Jika Anda hanya ingin mengintip cabang hulu, Anda dapat memeriksanya secara langsung:
$ git checkout origin/experimental
Tetapi jika Anda ingin bekerja di cabang itu, Anda harus membuat cabang pelacakan lokal yang dilakukan secara otomatis dengan:
$ git checkout experimental
dan kamu akan lihat
Branch experimental set up to track remote branch experimental from origin.
Switched to a new branch 'experimental'
Baris terakhir itu melempar beberapa orang: "Cabang baru" - ya? Apa artinya sebenarnya adalah bahwa cabang diambil dari indeks dan dibuat secara lokal untuk Anda. Baris sebelumnya sebenarnya lebih informatif karena memberitahu Anda bahwa cabang sedang disiapkan untuk melacak cabang jarak jauh, yang biasanya berarti cabang asal / branch_name
Sekarang, jika Anda melihat cabang lokal Anda, inilah yang akan Anda lihat:
$ git branch
* experimental
master
Anda sebenarnya dapat melacak lebih dari satu repositori jarak jauh menggunakan git remote
.
$ git remote add win32 git://example.com/users/joe/myproject-win32-port
$ git branch -a
* master
remotes/origin/HEAD
remotes/origin/master
remotes/origin/v1.0-stable
remotes/origin/experimental
remotes/win32/master
remotes/win32/new-widgets
Pada titik ini, segalanya menjadi sangat gila, jadi lari gitk
untuk melihat apa yang terjadi:
$ gitk --all &
git branch -a
) menunjukkan kepada Anda cabang-cabang di remote, tetapi jika Anda mencoba untuk memeriksa salah satu dari mereka, Anda akan berada dalam keadaan 'kepala terpisah'. Jawaban berikutnya turun (sebagian besar upvotes) menjawab pertanyaan yang berbeda (yaitu: bagaimana cara menarik semua cabang, dan, sekali lagi, ini hanya bekerja untuk mereka yang Anda lacak secara lokal). Beberapa komentar menunjukkan bahwa Anda dapat mem-parsinggit branch -a
hasil dengan skrip shell yang secara lokal akan melacak semua cabang jarak jauh. Rangkuman: Tidak ada cara asli git untuk melakukan apa yang Anda inginkan dan itu mungkin bukan ide bagus.