Git Fetch: Kelas Master

Diterbitkan: 2023-02-26
Laptop Linux menampilkan jendela terminal dengan pola globe di latar belakang dan tanda air biner
fatmawati achmad zaenuri/Shutterstock.com
Perintah git fetch seperti perintah git pull yang memperbarui repositori lokal Anda dengan informasi dan melakukan dari repositori jarak jauh, tanpa menimpa file kerja Anda.

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.

Daftar isi

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 

Menggunakan perintah git fetch pada repositori jarak jauh default

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 

Melihat cabang-cabang yang ada pada remote default

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 

Menggunakan perintah git tag untuk membuat daftar tag di repositori lokal

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 

Menggunakan opsi --dry-run jadi lihat perubahan yang akan diambil oleh perintah pengambilan

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 

Menggunakan git fetch untuk mengambil satu cabang jarak jauh

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 

Dengan aman memeriksa cabang jarak jauh yang diambil ke cabang lokal baru

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 

Menggunakan git untuk mengambil perubahan jarak jauh dan git log untuk menampilkan perubahan

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 

Menghilangkan opsi --oneline sehingga git menampilkan lebih banyak detail untuk setiap komit

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 

Memeriksa cabang

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 

Menarik perubahan dari repositori rmeote ke repositori lokal

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 

Git memberi tahu kami bahwa brnahces lokal dan jarak jauh telah menyimpang dan perlu digabungkan

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 

Git memberi tahu kami bahwa brnahces lokal dan jarak jauh telah menyimpang dan perlu digabungkan

Kami akan memberi tahu git untuk menggabungkan cabang kami saat ini dengan cabang di repositori jarak jauh, ada enam komit berbeda yang perlu diselesaikan.

Pesan gabungan yang berhasil

Kita perlu memberi tahu Git cabang jarak jauh mana yang ingin kita gabungkan.

 git merge origin/mary-feature 

menggunakan git merge untuk menggabungkan chnages jarak jauh ke dalam cabang lokal

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.

Mengedit pesan komit

Simpan perubahan Anda saat Anda siap untuk melanjutkan. Penggabungan berjalan secara otomatis saat editor ditutup.

Penggabungan kami berhasil karena tidak ada konflik.

Pesan gabungan yang berhasil

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