Ketika saya lakukan git fetch origindan asal memiliki cabang dihapus, sepertinya tidak memperbaruinya di repositori saya. Ketika saya melakukannya git branch -rmasih menunjukkanorigin/DELETED_BRANCH .
Bagaimana saya bisa memperbaikinya?
Ketika saya lakukan git fetch origindan asal memiliki cabang dihapus, sepertinya tidak memperbaruinya di repositori saya. Ketika saya melakukannya git branch -rmasih menunjukkanorigin/DELETED_BRANCH .
Bagaimana saya bisa memperbaikinya?
Jawaban:
Anda perlu melakukan hal berikut
git fetch -p
Ini akan memperbarui basis data lokal cabang-cabang terpencil.
origingarpu saya : git fetch -p origin Ketika saya kemudian melakukan git branch -r cabang jarak jauh yang tidak ada tidak lagi muncul.
git remote prune origindan mirip dengan yang git pull --prunedisebutkan di stackoverflow.com/a/6127884/94687 dan stackoverflow.com/a/17983126/94687 .
[deleted] (none) -> origin/ < branch name >dan cabang masih ditampilkan di repo lokal tahu mengapa?
git branchmasih menunjukkan cabang yang seharusnya dihapus.
Dari http://www.gitguys.com/topics/adding-and-removing-remote-branches/
Setelah seseorang menghapus cabang dari repositori jarak jauh, git tidak akan secara otomatis menghapus cabang repositori lokal ketika pengguna melakukan git pull atau git fetch. Namun, jika pengguna ingin semua cabang pelacakan dihapus dari repositori lokal mereka yang telah dihapus dalam repositori jarak jauh, mereka dapat mengetik:
git asal prune jarak jauh
Sebagai catatan, -p param dari git fetch -psebenarnya berarti "prune".
Apa pun pilihan Anda, cabang jarak jauh yang tidak ada akan dihapus dari repositori lokal Anda.
Anda perlu melakukan hal berikut
git fetch -p
untuk menyinkronkan daftar cabang Anda. The pengguna git mengatakan
-p,--prune
Setelah mengambil, hapus referensi pelacakan jarak jauh yang tidak lagi ada di remote. Tag tidak dapat dipangkas jika diambil hanya karena tag otomatis mengikuti atau karena suatu--tagsopsi. Namun, jika tag diambil karena refspec eksplisit (baik pada baris perintah atau dalam konfigurasi jarak jauh, misalnya jika remote dikloning dengan--mirroropsi), maka tag tersebut juga harus dipangkas.
Saya pribadi suka menggunakan git fetch origin -p --progresskarena ini menunjukkan indikator kemajuan.
Mengenai git fetch -p , perilakunya berubah di Git 1.9, dan hanya Git 2.9.x / 2.10 yang mencerminkan hal itu.
Lihat komit 9e70233 (13 Jun 2016) oleh Jeff King ( peff) .
(Digabung oleh Junio C Hamano - gitster- dalam komit 1c22105 , 06 Jul 2016)
fetch: dokumen pemangkasan yang terjadi sebelumnya mengambilIni diubah dalam 10a6cc8 (
fetch --prune: Jalankan prune sebelum mengambil, 2014-01-02), tetapi tampaknya tidak ada orang dalam diskusi yang menyadari bahwa kami mengiklankan "setelah" secara eksplisit.
Jadi dokumentasi sekarang menyatakan:
Sebelum mengambil, hapus referensi pelacakan jarak jauh yang tidak lagi ada di remote
Itu karena:
Ketika kami memiliki cabang pelacak jarak jauh bernama "
frotz/nitfol" dari pengambilan sebelumnya, dan hulu sekarang memiliki cabang bernama "frotz", mengambil akan gagal menghapus "frotz/nitfol" dengan "git fetch --prune" dari upstream. git akan memberitahu pengguna untuk menggunakan "git remote prune" masalah ini.Ubah cara
fetch --prunekerjanya " " dengan memindahkan operasi pemangkasan sebelum operasi pengambilan. Dengan cara ini, alih-alih memperingatkan pengguna konflik, secara otomatis memperbaikinya.