Git Fetch: Kelas Master
Diterbitkan: 2023-02-26
Perintah Git fetch
memungkinkan Anda melihat sebelum melompat. Anda dapat menemukan perubahan apa yang telah dilakukan pada repositori jarak jauh, tetapi tanpa menimpa file lokal Anda dengan file jarak jauh.
Apa itu git fetch, dan Apa Fungsinya?
Git ambil vs tarik
Sinkronkan Repositori Lokal dan Jarak Jauh Anda Dengan git fetch
Lihat Semua Tag yang Diambil
Melakukan Dry Run Terlebih Dahulu
Cara Mengambil Cabang Tunggal
Ambil Semua Cabang
Membandingkan Cabang Lokal dan Remote
Sinkronisasi Cabang Lokal dengan Cabang Jarak Jauh
Anak Anjing Setengah Terlatih
Apa itu git fetch, dan Apa Fungsinya?
Perintah fetch
di unduhan Git melakukan, file, dan informasi lainnya dari repositori jarak jauh ke repositori lokal Anda, dengan aman. Gunakan pengambilan saat Anda ingin melihat perubahan apa yang telah dibuat pengembang lain, tanpa dipaksa untuk menerima perubahan tersebut. File lokal Anda tetap tidak tersentuh. Mengapa itu penting?
Anda harus tetap waspada saat bekerja sebagai bagian dari tim pengembangan. Repositori jarak jauh atau pusat akan berisi perubahan dan cabang baru yang telah dibuat dan didorong oleh pengembang lain ke repositori jarak jauh.
Sangat mungkin seseorang telah memperbarui salinan jarak jauh dari file yang telah Anda ubah secara lokal di komputer Anda. Jika Anda dengan santai melakukan git pull
untuk memperbarui repositori lokal Anda, Anda mungkin menemukan diri Anda menangani penggabungan untuk perubahan yang mungkin tidak Anda inginkan.
Setelah mengunduh informasi, Anda dapat memeriksanya dan melihat perubahannya. Ini memungkinkan Anda membuat pilihan berdasarkan informasi tentang apa yang ingin Anda gabungkan saat ini, jika ada, dan apa yang ingin Anda tunda hingga nanti.
Git ambil vs tarik
Perintah git fetch
berperilaku seperti perintah git pull
tetapi tanpa langkah yang menimpa file lokal Anda. Repositori lokal Anda diperbarui dan disinkronkan, tetapi perubahan tidak ditulis ke status kerja repositori lokal Anda, sehingga file Anda tetap tidak tersentuh.
Atau, dengan kata lain, perintah git pull
seperti git fetch
diikuti langsung oleh git merge
.
Sinkronkan Repositori Lokal dan Jarak Jauh Anda Dengan git fetch
Untuk mengambil semua metadata yang diperbarui dan melakukan dari repositori jarak jauh ke repositori lokal Anda, gunakan perintah git fetch
dengan nama atau URL repositori jarak jauh. Secara default, repositori jarak jauh pertama disebut "asal".
git mengambil asal
Anda dapat menghilangkan kata "asal" jika Anda bekerja dengan satu repositori jarak jauh.
git ambil
Itu mengambil pembaruan apa pun dari repositori "asal", tetapi itu tidak menggabungkan perubahan ke dalam file yang berfungsi. Kita bisa melihat ada cabang baru, yang disebut “new-branch”, yang telah diambil untuk kita.
Setelah Anda menggunakan perintah fetch
, Anda dapat melihat daftar lengkap cabang di remote, dengan menggunakan opsi -r
(remote) dengan perintah cabang.
cabang git -r
Ini mencantumkan semua cabang yang diketahui oleh remote, yang setelah fetch
, juga ada di repositori lokal Anda.
Lihat Semua Tag yang Diambil
Demikian pula, Anda dapat menggunakan opsi tag
(perhatikan, ini adalah "tag" tanpa "s") untuk melihat daftar tag.
git tag
TERKAIT: Cara Beralih, Tambah, dan Hapus Remote Git
Melakukan Dry Run Terlebih Dahulu
Meskipun git fetch
tidak menggabungkan perubahan ke file kerja Anda, itu tetap memperbarui repositori lokal Anda. Jika Anda ingin melihat perubahan apa yang akan dilakukan perintah fetch
, tanpa benar-benar membuatnya, gunakan opsi --dry-run
.
git fetch --dry-run
Cara Mengambil Cabang Tunggal
Mengambil informasi tentang satu cabang itu mudah. Tambahkan nama cabang ke baris perintah untuk memberi tahu fetch
Anda hanya perlu mengetahui tentang satu cabang itu.
Di sini, kami memberi tahu fetch
untuk mengambil cabang "mary-feature" dari "origin" repositori jarak jauh.
git fetch origin mary-feature

Sekarang detail dan konten cabang jarak jauh ada di repositori lokal Anda, Anda dapat menggunakan perintah git checkout
untuk membuat cabang baru dan memeriksa cabang jarak jauh. Ini tidak akan menimpa file yang ada jika ini adalah pertama kalinya Anda menggunakan cabang ini.
git checkout -b mary-feature Origin/mary-feature
Ambil Semua Cabang
Jika Anda menggunakan banyak remote, Anda dapat menghemat waktu dengan menarik semua perubahan dari semua cabang kembali ke repositori lokal Anda dengan menggunakan opsi --all
.
git ambil --semua
Membandingkan Cabang Lokal dan Remote
Untuk melihat bagaimana file di cabang jarak jauh berbeda dari salinan lokal Anda, gunakan git fetch
, lalu gunakan perintah git log
.
Perhatikan bahwa cabang lokal dan jarak jauh memiliki dua periode " ..
" yang memisahkannya. Opsi --oneline
menampilkan pengidentifikasi komit dan pesan komit.
git ambil
git log --oneline mary-feature..origin/mary-feature
Tampilan satu baris berguna jika cabang berisi banyak sekali perubahan. Untuk melihat lebih banyak informasi, hilangkan opsi --oneline
.
git log mary-feature..origin/mary-feature
Ini menunjukkan kepada kita waktu dan tanggal setiap komit, bersama dengan pesan komit dan detail kontak pembuat perubahan.
Sinkronisasi Cabang Lokal dengan Cabang Jarak Jauh
Jika Anda telah memutuskan ingin melanjutkan dan menggabungkan perubahan dari cabang jarak jauh ke file kerja lokal Anda, Anda dapat menggunakan perintah ini.
Kami akan checkout cabang untuk memastikan kami bekerja itu adalah cabang kami saat ini yang berfungsi ..
fitur git checkout mary
Cabang diperiksa untuk kami, dan kami diberi tahu bahwa itu ada di belakang versi jarak jauh. Kita dapat menggunakan git pull
untuk memperbaruinya, lalu git status
untuk memeriksa status kita.
tarik git
status git
Jika kami telah membuat beberapa perubahan pada file lokal kami, Git memberi tahu kami ketika kami memeriksa cabang bahwa kami harus melakukan git pull
untuk memulai penggabungan.
fitur git checkout mary
Sebuah git pull
sederhana memulai proses pengambilan file dan penggabungan, atau kita bisa langsung masuk dan menggunakan git merge
itu sendiri. Kami akan mulai dengan memastikan kami bekerja dengan cabang yang benar
fitur git checkout mary
Kami akan memberi tahu git
untuk menggabungkan cabang kami saat ini dengan cabang di repositori jarak jauh, ada enam komit berbeda yang perlu diselesaikan.
Kita perlu memberi tahu Git cabang jarak jauh mana yang ingin kita gabungkan.
git merge origin/mary-feature
Editor terbuka untuk memungkinkan kami memberikan pesan komit. Kami dapat menerima pesan yang disarankan, atau menambahkan pesan kami sendiri. Editor adalah editor default Anda kecuali Git telah dikonfigurasi untuk menggunakan editor yang berbeda.
Simpan perubahan Anda saat Anda siap untuk melanjutkan. Penggabungan berjalan secara otomatis saat editor ditutup.
Penggabungan kami berhasil karena tidak ada konflik.
Konflik muncul ketika baris kode yang sama diubah oleh dua atau lebih pengembang. Jika demikian, Git menandai konflik di file yang terpengaruh. Anda harus meninjaunya secara bergiliran dan memilih perubahan mana yang akan disimpan.
Anak Anjing Setengah Terlatih
Sama seperti anak anjing yang sedang berlatih, fetch
akan mengambil apa yang Anda minta, tetapi tidak akan menjatuhkannya. Jika Anda benar-benar menginginkan apa yang ditunjukkan anak anjing itu kepada Anda, Anda harus pull
.
TERKAIT: Git rebase: Semua yang Perlu Anda Ketahui