Saya mencoba untuk menghapus cabang git jarak jauh dengan
git push origin :my_remote_branch
dan mendapatkan:
error: unable to push to unqualified destination: my_remote_branch
The destination refspec neither matches an existing ref on the remote nor
begins with refs/, and we are unable to guess a prefix based on the source ref.
error: failed to push some refs to '[email protected]:/myrepo'
ini adalah cabang saya saat ini
git branch -a
* develop
master
remotes/origin/HEAD -> origin/master
remotes/origin/develop
remotes/origin/my_remote_branch
git branch -r --merged
origin/HEAD -> origin/master
origin/develop
origin/master
Setiap ide tentang bagaimana saya dapat menyingkirkan cabang ini akan sangat dihargai.
git fetch
untuk melihat apakah itu memperbaiki nama jarak jauh yang tidak ada? Apakah Anda mencoba masuk.git\refs\remotes\origin
dan menghapusmy_remote_branch
file, untuk melihat apakah itu sudah cukup?git fetch
tapi itu tidak membantu. Akan mencoba mencari solusi yang lebih lurus sebelum mencoba menghapus file secara manual.git fetch -p
untuk menyingkirkan cabang pelacakan basi.Jawaban:
Fakta yang
refs/remotes/origin/my_remote_branch
ada di repositori lokal Anda tidak menyiratkanrefs/heads/my_remote_branch
ada diorigin
repositori jarak jauh.Lakukan
git fetch -p origin
untukrefs/remotes/origin/my_remote_branch
menghapus jika sudah dihapus dari asalnya. The-p
pilihan memberitahu mengambil untuk menghapus cabang pelacakan yang tidak lagi ada di remote yang sesuai; secara default mereka disimpan.sumber
git fetch -p origin
memperbaikinya untukku. Terima kasih banyak.git push origin --delete origin/feature/x
memberi saya kesalahan tentang tidak adanya refgit push origin :feature/x
menghapus cabang. Jadi saya kiragit push origin --delete <branchName>
seharusnya tidak menyertakan asal dalam branchName (?) Tetapi bash-selesai yang membingungkan.git push origin --delete feature/x
, karena Anda memberikan nama cabang pada asal , dan tidak memiliki awalan di sana (kedua bentuk itu tetap identik).:
untuk tidak memasukkanorigin
tetapi selesai sebagaiorigin/branch_name
ganti daripada hanyabranch_name
saat menggunakan--delete
varian.Ditemukan pertanyaan membersihkan cabang - cabang remote git lama dan ini berhasil
sumber
git push origin :my_remote_branch
menghapus cabang dari jarak jauh dangit branch -r -d origin/my_remote_branch
menghapusnya dari daftar cabang jarak jauh lokal sayaSaya berlari melintasi ini ketika mencoba untuk menghapus cabang jauh yang sudah dihapus. Semua yang dibutuhkan hanyalah pangkas:
sumber
Coba ikuti dua opsi untuk menghapus cabang jarak jauh secara paksa
Pilihan 1
pilihan 2
sumber
itu tidak cukup untukku. Sebelum saya harus pergi ke server dan bekerja dengan direktori git secara langsung (yang berbahaya dan jelek) untuk menghapus cabang:
sumber
git push origin :my_remote_branch
. Pikirkan usus besar.git push origin :my_remote_branch
cara biasa. Cara jelek dan berbahaya ini adalah ketika ini tidak berhasil (misalnya karena kesalahan konfigurasi git).Saya memiliki masalah yang sama. Pertama pergi ke diskusi ini, namun saya tidak bisa menyelesaikan masalah sampai saya melihat https://stackoverflow.com/a/32147743/4209849 .
yang hanya menambahkan tip tentang membedakan
origin/my-branch-name
danmy-branch-name
.Untuk lebih spesifik, saya harus menggunakan:
dari pada
Setidaknya ini menyelesaikan masalah saya, berharap itu akan membantu orang lain juga.
sumber
Bagi saya masalahnya adalah, ini adalah cabang default saya di github. Saya mengubah cabang default, kemudian operasi penghapusan berhasil.
Semoga ini bisa membantu seseorang
sumber
Mengalami masalah yang sama ini, saya mengedit
./.git/config
file saya secara manual untuk memasukkan:Yang menghasilkan:
error: src refspec branchName matches more than one.
Ini saya perbaiki dengan menjalankan$git tag -d branchName
. Setelah itu saya bisa mendorong cabang baru ke hulu.sumber
Ini bekerja untuk saya: Saya membuat cabang jarak jauh pada UI github dan kemudian mendorong cabang lokal saya yang memiliki nama yang sama. Cobalah kalau-kalau cara lain tidak berhasil. Cara lain adalah membuat cabang baru secara lokal dan mendorong cabang kosong dan kemudian memilih komis Anda dan mendorong lagi ke remote Anda.
sumber