Dalam repositori git, cabang jarak jauh yang tidak saya lacak dihapus. Saat saya mengetik
git branch -r
cabang yang dihapus masih muncul (dan saya bisa memeriksanya)
Perintah git apa yang harus saya jalankan untuk memperbarui info ini?
Dalam repositori git, cabang jarak jauh yang tidak saya lacak dihapus. Saat saya mengetik
git branch -r
cabang yang dihapus masih muncul (dan saya bisa memeriksanya)
Perintah git apa yang harus saya jalankan untuk memperbarui info ini?
Jawaban:
Jika Anda melakukan sesuatu seperti
git branch -d -r remote_name/branch_name
Anda hanya menghapus checkout lokal Anda. Perintah ini tidak melakukan apa pun pada repositori jarak jauh, itulah sebabnya mengapa ia masih muncul.
Larutan:
git push origin :branch_name
akan menghapus cabang jarak jauh (perhatikan ':'), dan
git branch -d branch_name
akan menghapus checkout lokal Anda.
( Referensi )
git push <remote> --delete <branchname>untuk menghapus cabang jarak jauh juga.
Jika itu adalah cabang di repositori jarak jauh yang dihapus, dan Anda ingin memperbarui semua cabang pelacakan jarak jauh lokal sekaligus, Anda bisa menggunakan
$ git remote prune <remotename>
untuk menghapus semua cabang pelacakan jauh basi untuk remote yang diberikan (yaitu yang mengikuti cabang yang dihapus dalam repositori jarak jauh).
Lihat git remotedokumentasi.
git fetch?
git gchanya mengemas objek dan referensi, dan menghapus objek yang tidak direferensikan saat berada di sana (dengan beberapa margin keamanan).
git remote update --prune
Harus menyegarkan semua cabang remote, menambah yang baru dan menghapus yang dihapus.
Sunting: Perintah pembaruan jarak jauh pada dasarnya mengambil daftar cabang di kendali jarak jauh. The --prunepilihan akan menyingkirkan Anda lokal cabang pelacakan jarak jauh yang mengarah ke cabang-cabang yang tidak eksis lagi pada jarak jauh .
Juga berguna untuk melihat cabang jarak jauh baru:
git fetch --all
Anda dapat menggabungkan -rdan -dmenandai untuk menghapus cabang jarak jauh.
Coba perintah ini
git gc --prune=now