Di VSCode, setelah saya melakukan permintaan tarik dan menghapus cabang di GitHub, cabang itu masih muncul di Visual Studio Code. Jika saya memilih cabang, itu memberi kesalahan, seperti yang diharapkan.
Bagaimana cara menghapus cabang yang sekarang dihapus ini dari VSCode - dapatkah saya melakukannya secara otomatis?
git fetch --prune
memperbarui / menghapus referensi cabang jarak jauh, dangit branch -d <branch-name>
menghapus cabang lokal (-D
untuk memaksa). Mulai ulang palet penyegaran VSCodeJawaban:
Ternyata, fitur ini memang disengaja. Saya menemukan bahwa cara yang benar untuk menghapus semua cabang jarak jauh yang telah dihapus dari Github adalah dengan menjalankan perintah berikut.
Kemudian restart studio visual untuk menghapus cabang dari palet perintah
sumber
origin/branch_name
dari menu git sakelar cepat di VSCode. Misalnya, jika Anda memiliki cabang lokaltest
dan mendorongnya ke Github, ada dua cabangtest
, danorigin/test
pada menu cabang git, pemangkasan hanya menghapusorigin/test
cabang, bukantest
cabangnya.git branch
atau mengklik nama cabang untuk melihat dropdown dengan semua cabang yang tersediagit branch
hanya mencantumkan cabang lokal, perintah ini seharusnya menghapusremotes/branch_name
cabang. Cobagit branch -a
lihat semuanya.Cabang lokal dapat dihapus dari Visual Studio Code dengan membuka Command Pallete (Ctrl-Shift-P) lalu Memilih Git: Hapus Cabang ... , Anda kemudian dapat menghapus cabang lokal dengan memilih yang sesuai dari daftar.
sumber
Cabang yang dihapus dari GitHub baik-baik saja ... baru saja dihapus dari GitHub. Anda masih memiliki salinan cabang lokal di komputer Anda. Untuk menghapus lari cabang lokal
git branch -d the_local_branch
. Tidak ada perintah dalam VS Code untuk melakukannya, tetapi Anda dapat memulai terminal di VSCode menggunakanView: Toggle Integrated Terminal
perintah dan menjalankan perintah darinya.Untuk informasi lebih lanjut tentang manajemen cabang, silakan kunjungi dokumentasi git - https://git-scm.com/book/be/v2/Git-Branching-Branch-Management
sumber
Buka palet perintah (Ctrl + Shift + P) dan pilih Git: Fetch (Prune) .
Ini fitur itu digabung ke dalam Kode VS pada 20 November 2018.
sumber
Saya menafsirkan pertanyaannya menjadi: bagaimana cara menghapus cabang lokal saya yang telah digabungkan, karena saya telah menggunakan Git Fetch (Prune) dari palet perintah. Ini mungkin dianggap sebagai "retasan", tetapi itulah yang saya gunakan. Di terminal PowerShell:
Jika Anda tidak terbiasa dengan PoSH, inilah fungsinya: baris pertama mendapatkan nama dari semua cabang yang digabungkan (dengan pengecualian develop dan master), dan baris kedua melewati daftar itu dan menjalankan "git branch -d ". Selama cabang digabungkan sepenuhnya, Anda akan melihat:
untuk setiap cabang. Terkadang saya akan menemukan cabang yang gagal dihapus - jika ini terjadi, dan Anda yakin aman untuk dihapus (yaitu Anda tidak akan kehilangan pekerjaan lokal yang belum disimpan), Anda dapat menjalankan:
Perhatikan huruf besar D - yang secara paksa menghapus cabang lokal.
sumber
simple | complex
divide😉Yang perlu Anda lakukan adalah menjalankan perintah ini:
Sesuatu ekstra yang dapat Anda lakukan, karena terkadang membuka terminal hanya untuk itu mengganggu .. Anda dapat menambahkan tugas di vscode.
Untuk melakukan itu, silakan ikuti langkah-langkah berikut:
{"label": "Git Prune", "type": "shell", "command": "git remote prune origin", "problemMatcher": []}
Bagaimana cara menggunakannya:
Referensi:
sumber
git remote prune origin
berbeda dari jawaban yang diterimagit fetch --prune
? Detail Jalankan Tugas sangat bagus, terima kasih telah mempostingnyaAnda dapat menghapus semua cabang lokal (kecuali master) dengan:
git branch -r | grep -v "master" | xargs git branch -D
Dan Anda dapat menghapus semua cabang yang masih muncul seperti
origin/XXXX
di VSCode tetapi sudah dihapusorigin
dengan:catatan:
Perintah pertama di atas (diambil dari https://stackoverflow.com/a/52006270/3120163 ):
sumber
Saya menemukan cara untuk memperbaikinya. Jadi, Anda perlu menghapus remote yang tertaut ke repo Github, lalu menambahkan remote lagi.
Semua cabang yang dihapus dari Github tidak akan muncul lagi di vscode. Dengan asumsi itu
origin
adalah nama untuk repo jarak jauh.Kemudian
sumber
Perintah yang lebih singkat adalah:
sumber
Anda tidak perlu
git fetch --prune
dan memulai ulang VSCode lagi.Dengan VSCode 1.52 (November 2020), Anda sekarang memiliki:
Tidak ada lagi cabang tambahan secara lokal setelah mereka dihapus dari GitHub.
Lihat PR 89249 , memperbaiki masalah 86813 :
sumber