Repositori git saya entah bagaimana menjadi miring - Saya memuat msysgit pagi ini dan alih-alih nama cabang ditampilkan setelah direktori saat ini, ia mengatakan "((ref: re ...))", 'status git' melaporkan semuanya sebagai file baru, 'git log' dan 'git reflog' beri tahu saya "fatal: revisi default buruk 'HEAD'", dan seterusnya.
Melakukan 'git reflog --all' atau 'gitk --all' menunjukkan kepada saya bahwa sisa repositori masih utuh, tetapi sepertinya cabang yang saya kerjakan baru saja menghilang, yang menjelaskan mengapa HEAD tampaknya tidak ada / menunjuk ke apapun.
Saya tahu git menyimpan semua jenis gumpalan informasi, dan saya berasumsi bahwa komit saya entah bagaimana menjadi yatim piatu, jadi apakah ada beberapa perintah yang akan menunjukkan kepada saya komit tersebut sehingga saya dapat mengatur ulang HEAD ke mereka?
EDIT: Ya ampun. Saya menemukan 'git fsck', dan 'git fsck --full' melaporkan "fatal: object 03ca4 ... rusak". Apa yang bisa saya lakukan tentang itu?
EDIT: Oh sayang oh sayang. Saya memeriksa cabang lain, lalu mencoba membuat ulang cabang asli dengan nama yang sama menggunakan 'git checkout -b lostbranchname', dan git mengatakan "kesalahan: tidak dapat menyelesaikan referensi referensi / kepala / nama cabang yang hilang: Tidak ada kesalahan, fatal: Gagal untuk mengunci ref untuk pembaruan: Tidak ada kesalahan ". 'Tidak ada kesalahan' pasti merupakan kesalahan yang sangat parah. Jadi sepertinya masih berkeliaran, tapi tidak bisa digunakan dan tidak bisa dibunuh.
EDIT: Super duper ya ampun. Saya telah melakukan banyak pembongkaran dan pengemasan ulang dan penggantian hal-hal seperti yang disarankan di sini: Bagaimana memulihkan objek Git yang rusak karena kegagalan hard disk? , tapi sekarang saya mendapatkan hash lain yang dilaporkan korup, untuk sesuatu yang tidak berbahaya seperti 'status git'. Saya pikir semuanya disemprot. Git menyenangkan dan semuanya, tapi aku seharusnya tidak berurusan dengan hal semacam ini.
git checkout -b lostbranchname- jika Anda hanya peduli tentang nama cabang (bukan isinya), Anda dapat menghapus (atau mengganti nama) secara manual.git/refs/heads/lostbranchname- mudah-mudahan akan berhasil.