Saya biasa git branch -d myBranch
menghapus cabang. Namun, ketika saya berada di master dan mencoba untuk checkout cabang baru dengan git checkout
, myBranch
masih muncul di tab-autocomplete.
Bagaimana cara menghapus nama myBranch
dari tab-pelengkapan otomatis git checkout
?
git branch -a
masih daftarmyBranch
atauorigin/myBranch
? Perhatikan bahwa, meskipunmyBranch
tidak ada,git checkout myBranch
masih merupakan pintasan yang validgit checkout -b myBranch origin/myBranch
jikaorigin/myBranch
ada.Jawaban:
Salah satu alasan yang mungkin untuk ini adalah, jika cabang jarak jauh (mis.
origin/myBranch
) Masih ada, makagit checkout myBranch
akan berhasil sebagai alternatifgit checkout -b myBranch origin/myBranch
. Ini dimaksudkan sebagai kemudahan untuk kasus umum pembayaran keluar cabang jarak jauh untuk pertama kalinya, membuat cabang pelacakan lokal bernama identik.Ada kemungkinan lain juga, tergantung pada apa yang sebenarnya Anda gunakan untuk penyelesaian, tapi itu salah satu hal pertama yang akan saya periksa. Jika Anda menjalankan
git branch -a
, dan ada yangorigin/myBranch
terdaftar (atau satu untuk remote selainorigin
, jika Anda punya), maka kemungkinan besar penyebabnya.sumber
origin/myBranch
masih ada. Jika saya menghapusmyBranch
cabang di Github (melalui antarmuka online), apakah aman bagi saya untuk menelepongit branch -d origin/myBranch
untuk menghapus cabang jarak jauh itu?git fetch --prune origin
. Itu akan membersihkan semua cabang pelacakan lokal yang tidak lagi ada di remote.git fetch --prune origin
referensi lokal ke cabang jarak jauh menghilang dalam pelengkapan otomatis. Mungkin bagus untuk memindahkannya dari komentar ke jawaban. Bagaimanapun, terima kasih atas tanggapan Anda karena itu membantu saya!git branch -a
membawa saya ke jalur yang benar; rekan kerja saya menyarankangit fetch --prune --all
untuk memangkas semua cabang mati dari semua remote, yang berguna saat bekerja dengan banyak pengembang dengan banyak garpu.git fetch --prune --all
Memposting ini sebagai jawaban sendiri karena ini adalah perbaikan satu baris, tetapi jika Anda memilih, pastikan untuk memilih jawaban @ twalberg di atas.
Saran @ twalberg untuk
git branch -a
membawa saya ke jalur yang benar; rekan kerja saya menyarankangit fetch --prune --all
untuk memangkas semua cabang mati dari semua remote, yang berguna saat bekerja dengan banyak pengembang dengan banyak garpu.sumber