Harap pertimbangkan untuk mengubah jawaban yang diterima menjadi jawaban Alexey Ten yang sangat dipilih, dan benar ( git update-ref -d).
Jonathon Reinhart
Jawaban:
11
Itu terlihat seperti sebuah tag, jadi perintah berikut ini harus berfungsi:
git tag -d refs/original/refs/heads/master
Tapi, karena Anda sudah mengatakan tidak, Anda bisa menghapus file dari .gitdirektori. Dari akar repositori, perintah seperti ini akan mendapatkannya:
rm .git/refs/tags/refs/original/refs/heads/master
Jalur mungkin sedikit berbeda jika git-tagperintah gagal, jadi Anda mungkin ingin cd .git/refsdan menemukan kepala yang menyinggung dengan coba-coba. Menghapus file akan menghapus referensi dari repositori lokal Anda.
Ini bekerja untuk saya dengan masalah yang sama. Perhatikan bahwa referensi disimpan dalam file bernama .git / packed-refs. Jika Anda membukanya, Anda dapat melihat baris dengan SHA dan string "ref / original / refs / heads / master". Anda mungkin dapat menghapus baris itu, tetapi saya akan menggunakan perintah ini untuk aman.
Matt N
14
+1: Anda harus selalu menggunakan git update-ref -dalih - alih rmhal - hal buruk dapat terjadi sebaliknya.
Callum Rogers
3
Ini harus menjadi jawaban yang diterima
Daniel Alder 3-15
1
@CallumRogers mengapa?
wahnfrieden
6
@wahnfrieden karena git bisa menggunakan ref yang sudah dikemas dan tidak akan ada file yang sesuai di refsdirektori
Alexey Ten
17
Ini adalah referensi. Biasanya dibuat oleh git filter-branch- ini adalah pointer ke tempat cabang Anda sebelum Anda berlari git filter-branch.
Dan untuk menghapus referensi apa pun , Anda selalu dapat mendorong apa pun untuk itu di repositori lokal:
git push . :refs/original/refs/heads/master
Jawaban lainnya juga mencakup cara lain yang cukup baik untuk dihapus.
git update-ref -d
).Jawaban:
Itu terlihat seperti sebuah tag, jadi perintah berikut ini harus berfungsi:
Tapi, karena Anda sudah mengatakan tidak, Anda bisa menghapus file dari
.git
direktori. Dari akar repositori, perintah seperti ini akan mendapatkannya:Jalur mungkin sedikit berbeda jika
git-tag
perintah gagal, jadi Anda mungkin ingincd .git/refs
dan menemukan kepala yang menyinggung dengan coba-coba. Menghapus file akan menghapus referensi dari repositori lokal Anda.sumber
.git/refs/original/refs/heads/master
.git update-ref
daripada secara manual memutasi internal Git. Lihat jawaban Alexey.Perintah ini seharusnya bekerja
sumber
git update-ref -d
alih - alihrm
hal - hal buruk dapat terjadi sebaliknya.refs
direktoriIni adalah referensi. Biasanya dibuat oleh
git filter-branch
- ini adalah pointer ke tempat cabang Anda sebelum Anda berlarigit filter-branch
.Dan untuk menghapus referensi apa pun , Anda selalu dapat mendorong apa pun untuk itu di repositori lokal:
Jawaban lainnya juga mencakup cara lain yang cukup baik untuk dihapus.
sumber