'Refs / original / refs / heads / master' git referansını nasıl silebilirim?


35

Bu sarı yuvarlak kutuda ne var?

ekran görüntüsü

Denedim git branch -D, git tag -dama hiçbiri başarılı oldu. Peki nasıl silinir?


1
Lütfen kabul edilen cevabı Alexey Ten'in oldukça fazla oy alan ve doğru ( git update-ref -d) cevabına değiştirmeyi düşünün .
— Jonathon Reinhart

Yanıtlar:


11

Bir etikete benziyor, bu nedenle aşağıdaki komut işe yaramalı:

git tag -d refs/original/refs/heads/master

Ancak, öyle olmadığını söylediğiniz için dosyayı dizinden silebilirsiniz .git. Depo kökünden, böyle bir komut onu alır:

rm .git/refs/tags/refs/original/refs/heads/master

git-tagKomut başarısız olursa, yol biraz farklı olabilir , bu nedenle cd .git/refsrahatsız edici başlığı deneme yanılma yoluyla bulmak isteyebilirsiniz . Dosyayı silmek referansı yerel deponuzdan kaldıracak.


2
Bu bir etiket değil, ancak olarak buldum .git/refs/original/refs/heads/master.
— Xiè Jìléi

1
git update-refGit'in iç öğelerini elle mutasyona geçirmek yerine kullanın . Alexey'un cevabını görün.
— wchargin

100

Bu komut çalışmalı

git update-ref -d refs/original/refs/heads/master

Bu benim için aynı sorunla çalıştı. Referansın .git / packs-refs adlı bir dosyada saklandığını unutmayın. Açtığınızda, SHA ile "refs / original / refs / heads / master" dizesini görebilirsiniz. Muhtemelen bu satırı silebilirsin, ama bu komutu güvenli olmak için kullanırdım.
— Matt N

14
+1: Aksi takdirde olabilecek kötü şeyler yapmadan sadece her zaman kullanmalısın . git update-ref -drm
— Callum Rogers

3
Bu kabul edilen cevap olmalıdır
— Daniel Alder

1
@CallumRogers neden?
— wahnfrieden

6
@wahnfrieden, git paketlenmiş referansları kullanabileceği ve refsdizinde buna karşılık gelen bir dosya olmayacağı için
— Alexey Ten

17

Bu bir ref. Normalde tarafından oluşturulmuş git filter-branch- bu, şubenizin koştuğunuzdan önceki yerini gösteren bir işaretçidir git filter-branch.

Ve herhangi bir ref'i silmek için yerel depoda her zaman hiçbir şeye itemezsin:

git push . :refs/original/refs/heads/master

Diğer cevaplar, silmenin diğer yollarını da içermektedir.


1
Referansı yerel olarak silmek için "hiçbir şeyi itmek" çok zekice.
— 40XUserNotFound

Günümü şenlendirdin. Uzaktan kumandanın artık bulunmadığı bir uzak etikete atıfta bulundum. Bu işe yarayan tek komut.
— RW4
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.