Pendahuluan
git fetch
perintah mengunduh objek ke mesin lokal tanpa menimpa kode lokal yang ada di cabang saat ini. Perintah menarik catatan perubahan repositori jarak jauh, memungkinkan wawasan tentang riwayat kemajuan sebelum penyesuaian.
Baca terus untuk mempelajari cara menggunakan git fetch
perintah melalui contoh langsung.

Prasyarat
- Git diinstal, diperbarui, dan dikonfigurasi.
- Akses ke baris perintah/terminal.
- Tautan repositori jarak jauh atau Git remote dikonfigurasi.
Apa itu git fetch?
git fetch
perintah mengambil komit, file, cabang, dan tag dari repositori jarak jauh. Sintaks umum untuk perintah adalah:
git fetch <options> <remote name> <branch name>
Git mengisolasi konten yang diambil dari kode lokal. Oleh karena itu, pengambilan menyediakan cara yang aman untuk meninjau informasi sebelum berkomitmen ke cabang lokal Anda.
Bagaimana Cara Kerja Perintah git fetch?
git fetch
perintah mendapatkan semua perubahan dari repositori jarak jauh. Metadata yang diambil berada di .git direktori, sedangkan direktori kerja tetap tidak berubah.
Secara efektif, git fetch
mengambil metadata tanpa menerapkan perubahan secara lokal. Perintah git pull menggabungkan git fetch
dan git menggabungkan fungsi menjadi satu.

Karena status direktori kerja tetap tidak terpengaruh, konten yang diambil harus diperiksa dengan perintah git checkout atau digabungkan dengan git merge.
Namun, karena menggabungkan konten adalah proses manual, git fetch
memungkinkan meninjau kode sebelum mengubah apa pun. Proses peninjauan membantu menghindari konflik penggabungan.
Opsi Pengambilan Git
Di bawah ini adalah daftar dengan opsi yang umum digunakan saat bekerja dengan git fetch
:
--all
- Ambil semua remote.--append
(-a
) - Menambahkan konten yang sudah diambil tanpa menimpa.--depth=<depth>
- Batasi jumlah commit tertentu mulai dari ujung setiap riwayat cabang jarak jauh.--deepen=<depth>
- Batasi jumlah komitmen tertentu mulai dari batas saat ini dari setiap riwayat cabang jarak jauh hingga ke ujung.--shallow-since=<date>
- Sertakan semua komitmen yang dapat dijangkau setelah tanggal yang ditentukan.--shallow-exclude=<revision>
- Tidak termasuk komit dari cabang atau tag jarak jauh yang ditentukan. Gunakan opsi ini beberapa kali untuk menentukan beberapa pengecualian.--dry-run
- Opsi yang ditambahkan ke perintah apa pun menunjukkan apa yang terjadi tanpa menjalankan perintah sebagai demo.--multiple
- Memungkinkan beberapa<repository or group>
argumen.--no-tags
- Nonaktifkan tag otomatis berikut.--tags
- Ambil semua tag dari jarak jauh.--set-upstream
- Tambahkan pelacakan hulu.
Untuk melihat semua opsi yang tersedia, jalankan perintah berikut di terminal:
git fetch --help
Perintah tersebut menampilkan halaman bantuan lengkap dengan deskripsi mendetail tentang semua opsi yang tersedia.
Ambil Repositori Git
Contoh memerlukan repositori jarak jauh yang ditambahkan. Jika Anda sudah memiliki pengaturan jarak jauh, lewati ke bagian berikutnya. Jika tidak, tambahkan remote Git dengan mengikuti langkah-langkah di bawah ini:
1. Buka terminal dan buat direktori untuk proyek:
mkdir <directory name>
2. Masuk ke direktori menggunakan cd
perintah:
cd <directory name>
3. Inisialisasi repositori lokal dengan:
git init

4. Gunakan perintah berikut untuk menambahkan URL jarak jauh ke repo lokal:
git remote add <short remote name> <remote URL>
Misalnya:
git remote add origin [email protected]:phoenixNAP-KB/test.git
5. Konfirmasikan remote berhasil ditambahkan:
git remote -v

Ikuti contoh di bagian di bawah ini untuk melihat bagaimana git fetch
perintah berfungsi untuk berbagai kasus penggunaan.
Ambil Repositori Jarak Jauh
Cara paling sederhana untuk menggunakan git fetch
perintahnya adalah untuk mengambil repositori jarak jauh:
git fetch <remote name>
Misalnya:
git fetch origin

Outputnya menunjukkan perintah mengambil semua konten dari repositori jarak jauh, termasuk cabang dan tag.
Buat daftar semua cabang jarak jauh yang diambil dengan:
git branch -r

Untuk membuat daftar semua tag yang diambil, jalankan:
git tag

Gunakan perintah git checkout untuk membuat konten tersedia secara lokal untuk cabang baru atau gunakan git merge untuk menyinkronkan informasi repositori lokal.
Ambil Cabang Tertentu
Untuk mengambil cabang tertentu dari repositori, jalankan perintah ini:
git fetch <remote name> <branch name>
Misalnya, untuk mengambil cabang bernama test dari asal , jalankan:
git fetch origin test

Perintah hanya mengambil konten untuk cabang tertentu. Untuk checkout konten yang diambil ke cabang baru, jalankan:
git checkout -b test_branch origin/test

Konten sekarang tersedia secara lokal di cabang test_branch .
Ambil Semua Cabang dari Semua Jarak Jauh
Jika terdapat beberapa remote, git fetch
menawarkan perintah untuk mengambil informasi dari semua remote.
Untuk melihat semua remote, jalankan:
git remote

Ambil semua konten dari semua remote dengan:
git fetch --all

Outputnya menunjukkan proses pengambilan dari semua repositori jarak jauh.
Sinkronkan Repositori Lokal
Gunakan git fetch
perintah dengan git merge untuk menyinkronkan repositori lokal. Ikuti langkah-langkah di bawah ini untuk melihat cara kerja contoh:
1. Ambil repositori jarak jauh dengan:
git fetch <remote name>
2. Bandingkan cabang lokal dengan remote dengan membuat daftar perbedaan komit:
git log --oneline <local branch>..<remote name>/<remote branch name>
Misalnya, jika cabang lokal adalah test_branch dan remote berada di Origin/test , perintah berikut mencantumkan perbedaannya:
git log --oneline test_branch..origin/test

Outputnya mencantumkan komit dan pesan terkait.
3. Periksa cabang lokal tempat Anda ingin perubahan digabungkan:
git checkout <local branch>
Misalnya:
git checkout test_branch
4. Sinkronkan cabang lokal dengan perintah git merge:
git merge origin/main

Konten sekarang diperbarui dengan repositori jarak jauh. Jika ada peringatan konflik, ikuti tutorial kami untuk menyelesaikan masalah penggabungan:Cara Menyelesaikan Konflik Penggabungan di Git.
git fetch Vs. git tarik
Tabel di bawah menguraikan cara git fetch
dan membandingkan perintah git pull.
git fetch | git pull |
---|---|
Mengunduh informasi baru dari repositori jarak jauh tanpa menggabungkan ke cabang saat ini. | Mengunduh semua perubahan dari repositori jarak jauh dan menggabungkannya ke dalam cabang saat ini. |
Memperbarui data repositori di .git direktori. | Memperbarui repositori lokal secara langsung. |
Memungkinkan peninjauan commit dan perubahan dari developer lain sebelum melakukan commit kode. | Memungkinkan membawa dan memperbarui perubahan ke repositori lokal dengan segera. |
Tidak ada kemungkinan penggabungan konflik saat menjalankan perintah. | Kemungkinan konflik penggabungan yang memerlukan penyelesaian segera. |
Dari dua perintah, git fetch
adalah opsi yang lebih aman saat mengambil perubahan kode dari repositori jarak jauh.