Untuk melakukan fetch branch dari repositori Git remote dan mulai mengerjakannya secara lokal, buka Terminal di repositori Anda, lakukan fetch dari remote yang tepat, lalu buat branch lokal yang melacak remote branch tersebut. Misalnya, git fetch origin yang diikuti dengan git switch --track origin/feature/login akan membuat dan beralih ke branch lokal feature/login yang terhubung ke origin/feature/login.
Buka Terminal di dalam repositori
Buka Terminal dan arahkan ke folder yang berisi repositori Git Anda. Di Terminal macOS, shell default-nya adalah zsh, meskipun konfigurasi Anda mungkin menggunakan shell yang berbeda. Perintah Git di bawah ini berfungsi pada shell mana pun; nama branch yang memuat metakarakter shell harus diberi tanda kutip agar shell tidak menginterpretasikannya. Panduan Terminal Apple
Jika Anda sudah membuka repositori di editor kode, gunakan terminal terintegrasinya jika tersedia. Jika tidak, di Terminal, ketik cd , seret folder repositori dari Finder ke jendela Terminal untuk menyisipkan jalurnya, lalu tekan Return. Pastikan Anda berada di repositori yang benar dan periksa perubahan lokal apa pun sebelum beralih branch:
git status --short
git remote -v
git remote -v mencantumkan nama dan URL remote yang dikonfigurasi. Perintah di bawah ini menggunakan origin, nama remote yang umum; ganti dengan nama sebenarnya yang ditampilkan di Mac Anda. Jika tidak ada remote yang tercantum, repositori ini saat ini tidak memiliki remote yang dikonfigurasi untuk di-fetch.
Fetch remote branch
Jalankan:
git fetch origin
Fetching mengunduh commit dan referensi dari remote serta memperbarui referensi pelacakan remote (remote-tracking) lokal sesuai dengan konfigurasi fetch repositori. Perintah ini tidak otomatis mengalihkan direktori kerja Anda ke branch tersebut. Pada konfigurasi umum, branch yang di-fetch dari origin akan muncul dengan nama seperti origin/feature/login. Dokumentasi Git menjelaskan fetch sebagai pembaruan branch remote-tracking, dengan pemetaan tepat yang dikontrol oleh refspec fetch remote. Dokumentasi fetch Git
Anda dapat memastikan branch tersebut terlihat secara lokal dengan:
git branch --remotes
Cari origin/feature/login pada output. Jika tidak ada, pastikan nama branch dan remote sudah benar, Anda memiliki akses ke remote tersebut, dan konfigurasi fetch remote menyertakan branch tersebut. Fetch yang berhasil mungkin masih belum menampilkan setiap branch server jika repositori menggunakan refspec yang dibatasi.
Buat dan beralih ke local tracking branch
Saat branch remote-tracking sudah ada dan Anda ingin branch lokal menggunakan nama yang sama, jalankan:
git switch --track origin/feature/login
Git akan membuat branch lokal feature/login, menyetel upstream-nya ke origin/feature/login, dan mengalihkan working tree Anda ke branch tersebut. Hubungan pelacakan (tracking) ini memungkinkan perintah seperti git status untuk melaporkan perbandingan branch lokal dengan upstream-nya, serta memberikan upstream default bagi Git untuk operasi seperti git pull. Opsi --track menyetel upstream tersebut; Git mengambil nama lokal dari branch remote-tracking dalam format ini. Dokumentasi switch Git
Jika Anda menginginkan nama branch lokal yang berbeda, tentukan secara eksplisit:
git switch --track --create login-work origin/feature/login
Perintah ini membuat branch lokal login-work yang melacak origin/feature/login. Pada versi Git yang mendukung perintah switch yang lebih baru, --create merupakan bentuk panjang dari -c. Periksa versi yang terpasang dengan git --version jika Git melaporkan bahwa switch tidak dikenal; git switch diperkenalkan pada Git 2.23. Dalam hal ini, gunakan padanan perintah yang lebih lama:
git checkout --track -b login-work origin/feature/login
Verifikasi branch dan tangani kesalahan umum
Setelah beralih, konfirmasikan branch yang aktif dan status pelacakannya:
git status -sb
git branch -vv
Output status harus mengidentifikasi branch lokal dan upstream-nya. Dalam daftar branch, login-work harus menampilkan origin/feature/login sebagai branch pelacakannya.
Jika Git menyatakan bahwa branch bersifat ambigu (ambiguous), gunakan format remote/branch yang ditentukan secara lengkap seperti yang ditunjukkan di atas alih-alih mengandalkan tebakan otomatis. Perintah singkat Git git switch feature/login dapat secara otomatis membuat tracking branch ketika tepat ada satu remote yang memiliki branch yang cocok, tetapi ambiguitas dapat muncul jika beberapa remote memiliki nama tersebut. Dokumentasi switch Git
Jika pengalihan ditolak karena perubahan lokal akan tertimpa, hentikan dan tinjau git status sebelum melanjutkan. Lakukan commit atau stash pekerjaan yang ingin Anda simpan secara aman; jangan memaksakan pengalihan atau membuang perubahan kecuali Anda memahami apa yang akan hilang. Jika nama branch lokal sudah ada, pilih branch tersebut secara sengaja atau pilih nama lokal yang berbeda dengan --create; jangan berasumsi bahwa branch yang sudah ada telah melacak remote yang Anda tuju.
Alur kerja selesai ketika branch lokal yang dimaksud telah di-checkout dan upstream-nya mengarah ke branch remote yang dituju. Fetching memperbarui informasi repositori lokal Anda mengenai remote; membuat tracking branch memberi Anda ruang lokal untuk bekerja sembari tetap mempertahankan koneksi tersebut.
Sumber
Mengubah shell default di Terminal di Mac — Apple Support