Saat Anda menggunakannya git push origin :staleStuff, secara otomatis menghapus origin/staleStuff, jadi saat Anda menjalankan git remote prune origin, Anda telah memangkas beberapa cabang yang telah dihapus oleh orang lain. Kemungkinan besar rekan kerja Anda sekarang perlu lari git pruneuntuk menyingkirkan cabang yang telah Anda hapus.
Jadi apa sebenarnya yang git remote prunedilakukannya? Ide utama: cabang lokal (bukan cabang pelacakan) tidak tersentuh oleh git remote pruneperintah dan harus dihapus secara manual.
Sekarang, contoh dunia nyata untuk pemahaman yang lebih baik:
Anda memiliki repositori jarak jauh dengan 2 cabang: masterdan feature. Anggaplah Anda sedang mengerjakan kedua cabang, sehingga Anda memiliki referensi ini di repositori lokal Anda (nama referensi lengkap diberikan untuk menghindari kebingungan):
refs/heads/master(nama pendek master)
refs/heads/feature(nama pendek feature)
refs/remotes/origin/master(nama pendek origin/master)
refs/remotes/origin/feature(nama pendek origin/feature)
Sekarang, skenario tipikal:
- Beberapa pengembang lain menyelesaikan semua pekerjaan
feature, menggabungkannya ke masterdan menghapus featurecabang dari repositori jarak jauh.
- Secara default, ketika Anda melakukan
git fetch(atau git pull), tidak ada referensi yang dihapus dari repositori lokal Anda, jadi Anda masih memiliki semua 4 referensi tersebut.
- Anda memutuskan untuk membersihkannya, dan lari
git remote prune origin.
- git mendeteksi bahwa
featurecabang tidak ada lagi, sehingga refs/remotes/origin/featureadalah basi cabang yang harus dihapus.
- Sekarang Anda memiliki 3 referensi, termasuk
refs/heads/feature, karena git remote prunetidak menghapus refs/heads/*referensi apa pun .
Anda dapat mengidentifikasi cabang lokal, yang terkait dengan cabang pelacakan jarak jauh, dengan branch.<branch_name>.mergeparameter konfigurasi. Parameter ini tidak benar-benar diperlukan agar apa pun berfungsi (mungkin kecuali git pull), jadi mungkin saja hilang.
(diperbarui dengan contoh & info berguna dari komentar)
git remote show origindan mencari cabang yang bertandastale