Ištrinti ištrintus failus

Tarkime, aš turiu failą mano git repostiory vadinamas foo .

Tarkime, kad jis buvo ištrintas su rm (ne git rm ). Tada bus rodoma „git“ būsena:

 Changes not staged for commit: deleted: foo 

Kaip ištrinti šį failą?

Jei bandau:

 git add foo 

Jis sako:

 'foo' did not match any files. 
313
11 сент. pateikė Andrew Tomazos 11 rugsėjis 2012-09-11 19:01 '12, 07:01 pm 2012-09-11 19:01
@ 6 atsakymai

Naudokite git rm foo norite sukurti failą, kurį norite pašalinti. (Tai taip pat pašalins failą iš failų sistemos, jei ji anksčiau nebuvo ištrinta.

Norėdami sukurti failą ištrynimui, neišimdami jo iš failų sistemos, naudokite git rm --cached foo

355
11 сент. Atsakymas suteiktas 11 sofų . 2012-09-11 19:02 '12 at 7:02 pm 2012-09-11 19:02

Jūs galite padaryti git add -u .

border=0

Tai padės, jei norite ištrinti kelis failus, nepadarius git rm kiekvienam iš jų.

291
11 сент. Atsakymas pateikiamas Sailesh 11 Sep. 2012-09-11 19:36 '12 at 7:36 pm 2012-09-11 19:36

Jei norite vykdyti visus rankiniu būdu ištrintus failus, galite naudoti:

 git rm $(git ls-files --deleted) 

Jei norite pridėti šios komandos slapyvardį kaip git rm-deleted , paleiskite:

 git config --global alias.rm-deleted '!git rm $(git ls-files --deleted)' 
74
24 дек. Ian Mackinnon atsakymas, pateiktas gruodžio 24 d. 2015-12-24 19:26 '15, 19:26, 2015-12-24 19:26

Pridėkite visus paruoštus ištrintus failus

 git status -s | grep -E '^ D' | cut -d ' ' -f3 | xargs git add --all 

ačiū patikrinti, kad įsitikintumėte

 git status 

jums reikia gerai eiti

19
09 дек. atsakymas pateikiamas chet corey 09 dec. 2015-12-09 18:28 '15 at 18:28 2015-12-09 18:28

Galite naudoti

git rm -r --cached -- "path/to/directory"

sukurti nuotolinį katalogą.

4
16 янв. Atsakymas pateikiamas GameScripting 16 sausis 2015-01-16 17:34 '15, 17:34, 2015-01-16 17:34

Kadangi Git 2.0.0, git add taip pat ištrins failus.

Git 2.0.0 dokumentai - git -add

<pathspec> ...

Failai, skirti pridėti turinį. Fileglobus (pvz., * .C) galima nurodyti, jei norite pridėti visus> atitikimo failus. Taip pat galite nurodyti pagrindinio katalogo pavadinimą (pvz., Dir pridėti dir / file1 ir dir / file2), kad indeksas būtų atnaujintas pagal dabartinę katalogo būklę (pvz., Nurodant dir ne tik įrašys failą dir / file1, pakeistą darbo medyje) pridėjo prie darbo medžio pridėtą dir / file2 failą, taip pat iš darbo medžio pašalintą dir / file3 failą. Atkreipkite dėmesį, kad senesnės „Git“ versijos naudojamos ignoruoti ištrintus failus, naudokite -no, jei norite pridėti modifikuotų ar naujų failų, tačiau ignoruokite ištrinti yra.

1
27 марта '17 в 23:52 2017-03-27 23:52 atsakymas duotas peflorencio kovo 27 d. 17:23 23:52 23:52

Kiti klausimai apie žymes arba Ask a Question