Saya sudah googled dan ada beberapa utas yang sangat panjang tentang topik ini dan tidak ada satupun yang membantu. Saya pikir saya melakukan sesuatu yang salah. Saya memiliki cabang yang disebut Test_Branch
. Ketika saya mencoba untuk menghapusnya menggunakan metode rekomendasi, saya mendapatkan kesalahan berikut:
Tidak dapat menghapus cabang 'Test_Branch' yang diperiksa di '[lokasi direktori]'.
Saya tidak mendapatkan informasi lain selain itu. Saya bisa menerbangkan cabang yang jauh dengan mudah tetapi cabang lokal tidak mau pergi.
git branch
, apa isinya?Jawaban:
Beralih ke beberapa cabang lain dan hapus
Test_Branch
, sebagai berikut:Jika perintah di atas memberi Anda kesalahan -
The branch 'Test_Branch' is not fully merged. If you are sure you want to delete it
dan Anda masih ingin menghapusnya, maka Anda dapat memaksa menghapusnya dengan menggunakan-D
alih-alih-d
, seperti:Untuk menghapus
Test_Branch
dari jarak jauh juga, jalankan:sumber
git status
, ataugit branch
; jika Anda menjalankan kembali Test_branch maka cukup memeriksa cabang / komit yang berbeda tidak akan memperbaikinya. Sebaliknyagit rebase --abort
kemudiangit checkout --detach
dan akhirnyagit branch -D Test_branch
error: you need to resolve your current index first
dan mereka hanya ingin MENINGGALKAN? EDIT - Solusigit reset --
:;git checkout -D [branch_name]
Fiuh ..Anda mungkin telah memeriksa Test_Branch, dan Anda mungkin tidak menghapusnya saat itu cabang Anda saat ini. Periksa cabang yang berbeda, dan kemudian coba hapus Test_Branch.
sumber
Berlari ke hari ini dan beralih ke cabang lain tidak membantu. Ternyata entah bagaimana informasi worktree saya telah rusak dan ada worktree dengan path folder yang sama dengan direktori kerja saya dengan
HEAD
menunjuk ke cabang (git worktree list
). Saya menghapus.git/worktree/
folder yang mereferensikannya dangit branch -d
berfungsi.sumber
Jika Anda telah membuat beberapa worktrees dengan git worktree , Anda harus menjalankannya
git prune
sebelum Anda dapat menghapus cabangsumber
git worktree prune
Ini berhasil bagi saya ...
Saya telah menghapus folder di folder .git / worktrees dan kemudian mencoba "git delete -D branch-name".
sumber
Dalam kasus saya ada perubahan yang tidak dikomit dari cabang sebelumnya yang tersisa. Saya menggunakan perintah berikut dan kemudian hapus berhasil.
checkout git *
git checkout master
cabang git -D
sumber
Seperti yang disebutkan lainnya, Anda tidak dapat menghapus cabang saat ini di mana Anda bekerja.
Dalam kasus saya, saya telah memilih "Test_Branch" di Visual Studio dan mencoba menghapus "Test_Branch" dari Sourcetree (Git GUI). Dan semakin di bawah pesan kesalahan.
Beralih ke cabang berbeda di Visual Studio dan dapat menghapus "Test_Branch" dari Sourcetree.
Saya harap ini membantu seseorang yang menggunakan Visual Studio & Sourcetree .
sumber