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