Katakanlah saya memiliki cabang yang bernama coolbranch
di repositori saya.
Sekarang, saya memutuskan untuk menghapusnya (baik jarak jauh dan lokal) dengan:
git push origin :coolbranch
git branch -D coolbranch
Bagus! Sekarang cabang benar-benar dihapus.
Tapi ketika saya lari
git branch -a
Saya masih mendapatkan:
remotes/origin/coolbranch
Sesuatu yang perlu diperhatikan, adalah bahwa ketika saya mengkloning repositori baru, semuanya baik-baik saja dan git branch -a
tidak menunjukkan cabang.
Saya ingin tahu - apakah ada cara untuk menghapus cabang dari branch -a
daftar tanpa mengkloning instance baru?
git
git-branch
yonix
sumber
sumber
git fetch -p
(ataugit pull -p
) maka cabang jarak jauh akan dipangkas.Jawaban:
git remote prune origin
, seperti yang disarankan dalam jawaban lain, akan menghapus semua cabang basi tersebut. Mungkin itulah yang Anda inginkan dalam kebanyakan kasus, tetapi jika Anda ingin menghapus cabang pelacakan jarak jauh tertentu, Anda harus melakukannya:(
-r
Mudah dilupakan ...)-r
dalam hal ini akan "Mendaftar atau menghapus (jika digunakan dengan-d
) cabang pelacak jarak jauh." menurut dokumentasi Git yang ditemukan di sini: https://git-scm.com/docs/git-branchsumber
git remote prune origin
atau segala bentukgit fetch --prune
penandaan tidak berfungsi untuk saya dalam kasus saya. ... Tapigit branch -d -r origin/feature/branch-name
berhasil. Saya tidak yakin apakah itu ada hubungannya dengan itu berada di bawahfeature
namespace (git flow) tapi itulah caranya turun, kalau-kalau ada googler menemukan itu terjadi pada mereka.Mencoba:
Dari dokumentasi jarak jauh Git :
memangkas
sumber
git pull --prune
disebutkan di stackoverflow.com/a/17983126/94687 Dan:git remote update --prune
Jangan lupakan yang mengagumkan
yang mengambil dan memangkas semua asal.
sumber
git remote prune origin
dan mirip dengan yanggit pull --prune
disebutkan di stackoverflow.com/a/6127884/94687 dan stackoverflow.com/a/17983126/94687 . Dan:git remote update --prune
git branch -a
git branch -a
Dalam kasus khusus kami, kami menggunakan Stash sebagai repositori remote Git kami. Kami mencoba semua jawaban sebelumnya dan tidak ada yang berhasil. Kami akhirnya harus melakukan hal berikut:
Kemudian ketika pengguna pergi untuk melakukan perubahan, mereka perlu melakukan hal berikut:
sumber
git branch -d branch-name
bekerja untukku. Pemberitahuan-D
untuk-d
. Bahkan ketika saya mencoba dengan huruf besar D-D
itu membuat cabang baru dengan nama -DMenggunakan:
Di mana
<remote>
nama sumber jarak jauh seperti asal atau hulu .Contoh:
git remote prune origin
sumber
git remote prune
,git prune
,git fetch --prune
.