Kaip atkurti „.git / index“ vietoje?

Aš netyčia ištryniau .git/index , ar yra būdas jį atkurti? Jis yra visam laikui ištrintas. Dar nieko dar nepadariau.

14
08 июля '16 в 23:26 2016-07-08 23:26 dyarbrough yra nustatytas liepos 8 d. 16, 23:26 2016-07-08 23:26
@ 3 atsakymai

Jei norite atkurti indekso failą, galite išbandyti šias dvi komandas:

 git reset # re-scan the working directory git add -u # update the index 
15
09 июля '16 в 4:48 2016-07-09 04:48 Atsakymą davė kenorbas liepos 09 d. 16, 4:48 2016-07-09 04:48

Galite atkurti indeksą nuo paskutinio patikrinimo su git reset . Bet koks turinys, kurį pridėjote nuo to laiko, vis dar pridedamas, jis yra saugykloje, tačiau indeksas buvo vienintelė vieta, kurioje įrašomas maršruto ir turinio susiejimas. Git fsck nepasiekiamus objektus galite ištrinti prarastame aplanke, pamatyti jo dokumentus , o tada greičiausias maršrutas per pažįstamą teritoriją - tiesiog palikite turinį į darbo liniją ir pridėkite jį dar kartą, git neperduos turinio, bet atkurs indekso įrašą .

3
09 июля '16 в 4:44 2016-07-09 04:44 Atsakymą pateikė liepos mėn. Liepos 09 d. 16 d. 4:44 2016-07-09 04:44

Nemanau, kad tai yra įmanoma, bet ne per git (galite pabandyti ieškoti savo pirkinių krepšelyje ar tam tikrose failų sistemos atkūrimo priemonėse). Tačiau gausite naują indeksą, kai tik git add kažką arba darysite kažką kito, kuriam reikalingas indeksas.

Jei praradote visus failus, kuriuos git add , galite pereiti. / git / objects ( find.git/objects / -type f |sed 's:\.git/objects/::; s:/::' ), patikrinkite kiekvieno turinį su git cat-file -p $the_hash ir kai tik radote prarastą, nukreipkite išvestį į failą.

(Kai git add , failo pavadinimo įrašas bus .git/index , o failo turinys išsaugomas .git/objects/ . Git indeksas yra sudaromas iš galimo medžio objekto failo pavadinimo įrašų, kurie yra sukurti vykdant commit git ls-files --stage ).

2
08 июля '16 в 23:39 2016-07-08 23:39 atsakymą pateikė PSkocik liepos 8 d., 16 d., 23:39 2016-07-08 23:39

Kiti klausimai apie žymes arba Ask a Question