Anda mungkin perlu pembersihan:
git gc --prune=now
atau Anda mungkin perlu memangkas:
git remote prune public
memangkas
Menghapus semua cabang pelacakan basi di bawah <name>. Cabang-cabang basi ini telah dihapus dari repositori jarak jauh yang dirujuk oleh <name>, tetapi masih tersedia secara lokal di "remote / <nama>".
Dengan opsi --dry-run, laporkan cabang apa yang akan dipangkas, tetapi jangan melakukan pemangkasan yang sebenarnya.
Namun, tampaknya ini harus dibersihkan dengan sebelumnya
git remote rm public
rm
Hapus remote yang bernama <name>. Semua cabang pelacakan jarak jauh dan pengaturan konfigurasi untuk jarak jauh dihapus.
Jadi mungkin Anda mengedit file konfigurasi Anda dan ini tidak terjadi, atau Anda memiliki masalah hak istimewa.
Mungkin jalankan itu lagi dan lihat apa yang terjadi.
Konteks Saran
Jika Anda melihat dalam log revisi , Anda akan perhatikan saya menyarankan lebih banyak teknik "benar", yang karena alasan apa pun tidak ingin mengerjakan repositori mereka.
Saya curiga OP telah melakukan sesuatu yang meninggalkan pohon mereka dalam keadaan tidak konsisten yang menyebabkannya berperilaku agak aneh, dan git gc
diminta untuk memperbaiki sisa belitan.
Biasanya git branch -rd origin/badbranch
cukup untuk nuking cabang pelacakan lokal, atau git push origin :badbranch
untuk nuking cabang terpencil, dan biasanya Anda tidak perlu menelepongit gc
git remote prune [remote-name]
ataugit fetch -p [remote-name]
tidak dalam skenario Anda? Melakukannya dengangit gc
jauh lebih kuat dari biasanya.git remote prune [remote-name]
tidak akan bekerja dengan git svn, meskipun tidakgit gc
...git branch -rd origin/name
tidak bekerja. @ Casey, Anda mungkin harus memilih jawaban kedua - itu sedikit kurang berbahaya.master
... terutama ketika menghapus pada remote.