Kaip atsisakyti neapibrėžtų „Git“ pakeitimų?

Kaip atšaukti savo darbo kopijos pakeitimus, kurie nėra įtraukti į indeksą?

3956
09 сент. Skaityta tik 09.09. 2008-09-09 22:33 '08 at 10:33 pm 2008-09-09 22:33
@ 32 atsakymai
  • 1
  • 2

Kitas greitas būdas:

 git stash save --keep-index --include-untracked 

Jei nenorite būti įtrauktas, nereikia įtraukti --include-untracked neįtrauktų į --include-untracked .

Po to galite anuliuoti šį antspaudą, jei norite.

2225
09 сент. Greg Hewgill atsakymas rugsėjo 09 d 2008-09-09 22:39 '08, 10:39 pm 2008-09-09 22:39

Visiems ne įdiegtiems failams naudokite:

 git checkout -- . 

Tam tikram failo naudojimui:

border=0
 git checkout path/to/file/to/revert 

Būtinai nurodykite laikotarpį pabaigoje.

4303
09 сент. Atsakymas pateiktas Tobi 09 Sep. 2008-09-09 22:37 '08, 10:37 pm 2008-09-09 22:37

Atrodo, kad visas sprendimas:

 git clean -df git checkout -- . 

git clean pašalina visus neperdirbtus failus ( įspėjimas ), nors ji neištrina ignoruojamų failų, nurodytų tiesiogiai .gitignore, ji gali pašalinti nepaisytus failus aplankuose ) ir „ git checkout išvalo visus nenurodytus pakeitimus.

1643
29 авг. Mariusz Nowak atsakymas 2012-08-29 21:28 '12 21:28 2012-08-29 21:28

Tai tikrina dabartinio katalogo esamą indeksą, pašalindamas visus failų pakeitimus iš dabartinio katalogo.

 git checkout . 

arba tai, kuri tikrina visus indekso failus, perrašo medžio darbo failus.

 git checkout-index -a -f 
283
20 июня '09 в 13:28 2009-06-20 13:28 CB Bailey atsakymą pateikė birželio 20 d., 09:28, 2009-06-20 13:28
 git clean -df 

Išvalo darbo medį rekursiškai ištrindami failus, kurių versijos nėra, pradedant nuo dabartinio katalogo.

-d : be nereikalingų failų pašalinkite nereikalingus katalogus

-f : jėga (gali būti nebūtina, priklausomai nuo „ clean.requireForce nustatymo)

Jei norite peržiūrėti pamoką, paleiskite git help clean .

218
07 дек. Elvis Ciotti atsakymas gruodžio 07 d 2011-12-07 16:09 '11 at 16:09 2011-12-07 16:09

Mano mėgstamiausia

 git checkout -p 

Tai leidžia pasirinktinai grįžti į gabalus.

Taip pat žiūrėkite:

 git add -p 
85
10 окт. atsakymas duotas Ben Oct 10 2014-10-10 15:31 '14, 15:31 2014-10-10 15:31

Kadangi jokio atsakymo nėra tikslaus derinio, kurį naudoju, variantas, čia jis yra:

 git clean -dfx git checkout . 

Tai yra pagalbos žiniatinklyje tekstas, skirtas naudoti git clean parinktis:

-d

Be žaliavų failų, ištrinkite nereikalingus katalogus. Jei nepasirašytą katalogą valdo kitas „Git“ saugykla, jis pagal nutylėjimą neištrinamas. Jei norite ištrinti tokį katalogą, du kartus naudokite parinktį -f .

-f

Jei „Git clean.requireForce konfigūracijos kintamasis nėra nustatytas kaip false , „Git clean“ atsisakys pašalinti failus ar katalogus, nebent -i nurodyta -f , -n arba -i . „Git“ atsisako ištrinti katalogus .git pakatalogyje arba faile, jei ne -f second -f .

-x

Nenaudokite ignoravimo taisyklių .gitignore (kiekvienam katalogui) ir $GIT_DIR/info/exclude , tačiau vis tiek naudokite ignoravimo taisykles, nurodytas su -e parinktimis. Tai leidžia ištrinti visus neperdirbtus failus, įskaitant gaminių surinkimą. Tai galima naudoti (galbūt kartu su git reset ), kad sukurtumėte nepaliestą darbo katalogą, kad patikrintumėte, ar nėra švaraus statinio.

Be to, git checkout. turi būti paleisti iš repo šaknies.

68
28 апр. Atsakymas, kurį pateikė Martin G 28 Bal. 2016-04-28 22:46 '16 at 22:46 pm 2016-04-28 22:46

Iš tikrųjų šį straipsnį naudoju paaiškindamas, kada naudoti kurią komandą: http://www.szakmeister.net/blog/2011/oct/12/reverting-changes-git/

Yra keletas skirtingų atvejų:

  • Jei nepateikėte failo, naudokite git checkout . „Checkout“ „atnaujina darbo medžio failus pagal indekso versiją“. Jei failai nebuvo pristatyti (taip pat pridėti prie indekso) ... ši komanda iš esmės grąžins failus į paskutinį pataisymą.

    git checkout -- foo.txt

  • Jei įdėjote failą, naudokite git reset. Atstatymas pakeičia indeksą pagal pataisą.

    git reset -- foo.txt

Įtariu, kad git stash yra populiarus pasirinkimas, nes jis yra šiek tiek mažiau pavojingas. Jūs visada galite grįžti į jį, jei netyčia ištrynėte per daug, naudodami gitų atkūrimą. Atstatymas pagal nutylėjimą yra rekursinis.

Pažvelkite į aukščiau pateiktą straipsnį ir gaukite daugiau patarimų.

53
14 авг. atsakymas pateikiamas blak3r 14 rug . 2012-08-14 00:31 '12 0:31 2012-08-14 00:31

Paprasčiausias būdas tai padaryti yra naudoti šią komandą:

Ši komanda naudojama atšaukti darbo katalogo pakeitimus -

 git checkout -- . 

https://git-scm.com/docs/git-checkout

„Git“ komandoje „raw“ failų klijavimas pasiekiamas naudojant:

 git stash -u 

http://git-scm.com/docs/git-stash

45
12 апр. Atsakyti AHM Forhadul Islam balandžio 12 2017-04-12 12:27 '17 at 12:27 2017-04-12 12:27

Jei nesate suinteresuoti taupyti neapibrėžtus pakeitimus (ypač jei pakopiniai pakeitimai yra nauji failai), man tai buvo naudinga:

 git diff | git apply --reverse 
41
28 июля '11 в 8:27 2011-07-28 08:27 atsakymą pateikė Joshua Kunzmann liepos 28 d., 11 d., 8:27 2011-07-28 08:27

Įvedę „git“ būseną (naudokite „git checkout -...“, jei norite atmesti darbo katalogo pakeitimus) .

Pavyzdžiui. git checkout -- .

39
17 мая '16 в 14:27 2016-05-17 14:27 atsakymą pateikė Erdem ÖZDEMİR gegužės 17, 16, 14:27 2016-05-17 14:27

git checkout -f


man git-checkout :

-f, --force

Perjungiant filialus, toliau dirbti, net jei indeksas ar darbo medis skiriasi nuo HEAD. Tai naudojama vietiniams pokyčiams pašalinti.

Tikrindami maršrutus iš indekso, nepavyksta nesilaikyti neleistinų įrašų; vietoj to ignoruojami ignoruojami įrašai.

38
17 мая '14 в 5:28 2014-05-17 05:28 atsakymas pateikiamas Bijan gegužės 17 d., 14 d., 5:28 2014-05-17 05:28

Galite naudoti git stash - jei kas nors negerai, vis tiek galite grįžti iš savo piniginės. Kaip ir kitas atsakymas čia, bet taip pat ištrinami visi pašalinti failai, taip pat visi pašalinti ištrynimai:

 git add . git stash 

jei patikrinate, ar viskas gerai, atsisakykite talpyklos:

 git stash drop 

Atsakymas iš „Bilal Maqsood“, naudodamas „ git clean taip pat dirbo man, bet su programa turiu daugiau kontrolės - jei netyčia tai padarysiu, vis tiek galiu grąžinti mano pakeitimus

UPDATE

Manau, kad yra dar vienas pakeitimas (nežinau, kodėl jis man anksčiau dirbo):

git add . -A git add . -A vietoj git add .

be -A ištrinti failai nebus įkelti

33
11 сент. Atsakymas yra pateiktas rugsėjo 11 d 2015-09-11 14:59 '15, 14:59 pm 2015-09-11 14:59

Vietoj to, kad atsisakytumėte pakeitimų, aš iš naujo nustatau savo konsolę. Pastaba Šis metodas skirtas visiškai atkurti aplanką naudojant repo.

Todėl tai darau, kad įsitikintumėte, jog jie sėdi ne tada, kai aš iš naujo nustatau (vėliau - neįtraukia gitignores į kilmės / šakos pavadinimą)

PASTABA. Jei norite, kad failai nebūtų stebimi, bet ne GITIGNORE, galite praleisti šį žingsnį, nes jis sunaikins šiuos nefosilinius failus, kurie nerandami nuotolinėje saugykloje (dėka @XtrmJosh).

 git add --all 

Tada aš

 git fetch --all 

Tada aš vėl pradėsiu

 git reset --hard origin/branchname 

Tai grąžins jį į aikštę. Kaip ir filialo klonavimas, o visi gitignored failai išsaugomi vietoje ir vietoje.

Atnaujinta į toliau pateiktą vartotojo komentarą: pakeiskite, norėdami iš naujo nustatyti bet kurį dabartinį filialą, kuriame naudotojas yra įgalintas.

 git reset --hard @{u} 
31
08 авг. Atsakymas duotas Nick 08 rug. 2015-08-08 00:15 '15 prie 0:15 2015-08-08 00:15

Jei tiesiog norite ištrinti esamų failų pakeitimus , naudokitės checkout ( dokumentais čia ).

 git checkout -- . 
  • Nenurodytas filialas, todėl jis tikrina esamą filialą.
  • Dviguba brūkšnelė ( -- ) pasakoja Geeta, kad jo antrasis argumentas (kelias) turėtų būti laikomas neatitinkančiu šakos specifikacijos.
  • Laikotarpis ( . ) Rodo visus kelius.

Jei norite ištrinti nuo paskutinio įsipareigojimo pridėtus failus , naudokite clean ( čia dokumentais ):

 git clean -i 
  • -i inicijuoja interaktyvų clean kad neleistų klaidingai ištrinti.
  • Yra keletas kitų parinkčių, leidžiančių greičiau įvykdyti; žr. dokumentaciją.

Jei norite perkelti pakeitimus į atminties vietą, kad galėtumėte vėliau jį pasiekti , naudokite atmintinę ( dokumentais čia )

 git stash 
  • Visi pakeitimai bus perkelti į „Git Stash“, kad galėtumėte vėliau naudotis.
  • Galimos kelios parinktys smulkesniam nusukimui; žr. dokumentaciją.
25
18 марта '18 в 3:19 2018-03-18 03:19 Atsakymą pateikė Jeheletterio kovo 18 d. 18 d. 3:19 2018-03-18 03:19

Bandžiau visus pirmiau minėtus sprendimus, tačiau vis dar negalėjau atsikratyti naujų pašalintų failų.

Naudokite git clean -f norite pašalinti šiuos naujus failus - atsargiai! Atkreipkite dėmesį į galios parametrą.

25
15 окт. Artur spalio 15 d. atsakymas 2011-10-15 00:07 '11, 00:07 2011-10-15 00:07

tiesiog pasakyti

 git stash 

Jis pašalins visus vietinius pakeitimus. Taip pat galite naudoti vėliau, sakydami

 git stash apply 

arba git stash pop

20
24 апр. atsakymas, kurį pateikė piyushmandovra balandžio 24 d 2015-04-24 15:19 '15, 15:19, 2015-04-24 15:19

Tiesiog naudokite:

 git stash -u 

Padaryta. Lengva

Jei tikrai rūpinatės savo rietuvėmis, galite sekti „ git stash drop . Bet šiuo metu jūs geriau naudojote (iš Mariusz Nowak):

 git checkout -- . git clean -df 

Vis dėlto man patinka git stash -u , nes jis „pašalina“ visus stebimus ir neišbandytus pakeitimus tik vienoje komandoje. Vis dar git checkout -- . tik pašalinami stebimi pakeitimai, o git clean -df tik git clean -df pakeitimus ... ir į abi komandas įeina per daug darbo :)

20
08 сент. Atsakymas, kurį pateikė Ben Wilde, rugsėjo 08 2016-09-08 09:19 '16 at 9:19 2016-09-08 09:19

Jis net veikia kataloguose; už įprastų git leidimų.

 sudo chmod -R 664 ./*  git checkout -- .  git clean -dfx 

Tai įvyko neseniai

16
05 сент. Atsakymą pateikė GlassGhost 05 Sep. 2013-09-05 12:38 '13, 12:38, 2013-09-05 12:38
 cd path_to_project_folder # take you to your project folder/working directory git checkout . # removes all unstaged changes in working directory 
14
30 мая '14 в 12:26 2014-05-30 12:26 atsakymas pateikiamas vivekporwal04 gegužės 30 d., 14 d., 12:26 2014-05-30 12:26

Nesvarbu, kokia būsena jūsų repo yra, visada galite iš naujo nustatyti visus ankstesnius įrašus:

 git reset --hard <commit hash> 

Tai panaikins visus pakeitimus, kurie buvo atlikti po šio įsipareigojimo.

10
05 февр. atsakymas pateikiamas msangel 05 feb . 2016-02-05 03:59 '16 at 3:59 2016-02-05 03:59

Kitas būdas atsikratyti naujų failų, kurie yra konkretesni nei git clean -df (tai leis jums atsikratyti kai kurių failų nebūtinai visi) yra pirmiausia pridėti naujus failus į indeksą, tada atidėti, tada palikite talpyklą.

Šis metodas yra naudingas, kai dėl kokių nors priežasčių negalite lengvai ištrinti visų žaliavų failų pagal įprastą mechanizmą (pvz., Rm).

10
15 июня '12 в 11:55 2012-06-15 11:55 atsakymas pateikiamas tjb birželio 15 d. 11:55 2012-06-15 11:55

Mano nuomone

 git clean -df 

turiu tai padaryti. Pagal git švarų git dokumentaciją

git -clean - pašalinkite neapdorotus failus iš darbo medžio

Aprašymas

Išvalo darbo medį rekursiškai ištrindami failus, kurių versijos nėra, pradedant nuo dabartinio katalogo.

Paprastai ištrinami tik tie failai, kurie nežinomi „git“, bet jei naudojamas „x“ variantas, failai taip pat ignoruojami. Pavyzdžiui, tai gali būti naudinga pašalinant visus surinkimo produktus.

Jei pateikiami bet kokie neprivalomi argumentai, tai paveikia tik tuos kelius.

Parinktys

-d Ištrinkite nereikalingus katalogus be failų be pėdsakų. Jei nepasirašytą katalogą tvarko kitas git saugykla, jis pagal nutylėjimą nebus pašalintas. Jei norite ištrinti tokį katalogą, du kartus naudokite parinktį -f.

-f --force Jei „git clean.requireForce“ konfigūracijos kintamasis nėra nustatytas kaip klaidingas, „git clean“ atsisakys pradėti, jei -f, -n arba -i nenurodoma.

9
14 июля '16 в 10:03 2016-07-14 10:03 atsakymas duotas Lahirui liepos 14, 16 d. 10:03 2016-07-14 10:03

Toliau iš tikrųjų yra tik sprendimas, jei dirbate su saugyklos kištuku, kuriame reguliariai sinchronizuojate (pvz., Perdavimo užklausą) su kitu repo. Trumpas atsakymas yra: nuimkite šakutę ir perforuokite, bet perskaitykite github įspėjimus .

Turėjau panašią problemą, galbūt ne identišką, ir liūdna pasakyti, kad mano sprendimas nėra idealus, bet galų gale jis yra veiksmingas.

Dažnai turiu tokius git statuso pranešimus (kuriuose yra bent 2/4 failų):

 $ git status # Not currently on any branch. # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # modified: doc/PROJECT/MEDIUM/ATS-constraint/constraint_s2var.dats # modified: doc/PROJECT/MEDIUM/ATS-constraint/parsing/parsing_s2var.dats # # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: doc/PROJECT/MEDIUM/ATS-constraint/constraint_s2Var.dats # modified: doc/PROJECT/MEDIUM/ATS-constraint/parsing/parsing_s2Var.dats 

Labai akis pastebės, kad šiose rinkmenose yra doplerių, kurie yra vienintelė raidė, kai išjungta. Bet kokiu atveju, ir aš neturiu idėjos, kas paskatino mane pradėti šį kelią (nes aš ne su šiais failais dirbau iš ankstesnių repo), perjungiau šiuos failus. Išbandykite daugelį šiame puslapyje (ir kituose puslapiuose) išvardytų sprendimų, kurie, atrodo, nepadėjo.

Galėjau išspręsti šią problemą ištrindama šakotą saugyklą ir visas vietines saugyklas ir grįžau atgal. Vien tik to nepakanka; prieš srovę turėjo būti pervardiję minėtus failus į naujus failų pavadinimus. Kol neturite jokių sugadintų darbų, nėra jokių wiki ir jokių problemų, kurios skiriasi nuo saugyklos, jums turėtų būti gerai. Bent jau „Upstream“ gali būti labai nepatenkintas. Kalbant apie mano problemą, tai neabejotinai yra naudotojo klaida, nes neturiu šios git patirties, tačiau tai, kad tai nėra lengva išspręsti, rodo git problemą.

9
05 янв. Atsakymą pateikė bbarker 05 jan. 2014-01-05 07:53 '14, 07:53 AM 2014-01-05 07:53

Jei norite perduoti čekį kitam:

 # add files git add . # diff all the changes to a file git diff --staged > ~/mijn-fix.diff # remove local changes git reset  git checkout . # (later you can re-apply the diff:) git apply ~/mijn-fix.diff 

[redaguoti], kaip komentuota, gali būti vadinama stashes. Na, naudokite tai, jei norite bendrinti piniginę;)

7
08 июля '13 в 18:07 2013-07-08 18:07 atsakymas duotas du kartus liepos 8 d. 13 val. 18:07 2013-07-08 18:07

Jei visi žingsniai po žingsnio failai faktiškai buvo fiksuoti, filialas gali būti, pavyzdžiui, tik reset. iš savo GUI su trimis pelės paspaudimais: Vetka , Reset , Yes !

Todėl tai, ką dažnai praktiškai darau norėdamas atšaukti nepageidaujamus vietinius pakeitimus, yra perkelti visus gerus dalykus ir iš naujo nustatyti filialą.

Jei geras dalykas yra fiksuojamas viename įvykyje, tuomet galite naudoti „paskutinį pakeitimą“, kad jį grąžintumėte į nustatymą ar nestabilų, jei galiausiai norėtumėte jį šiek tiek kitaip padaryti.

Tai gali būti ne techninis sprendimas, kurį ieškote savo problemai, bet manau, kad tai yra labai praktiškas sprendimas. Tai leidžia pasirinktinai anuliuoti nestabilius pakeitimus, atstatyti pakeitimus, kurie jums nepatinka, ir išsaugoti tuos, kuriuos padarote.

Taigi, aš tiesiog įsipareigojau , filialas atstatysiu ir pakeičiamas paskutinis įvykis .

6
20 марта '15 в 18:38 2015-03-20 18:38 atsakymą pateikė user3070485 kovo 20 '15 , 18:38 2015-03-20 18:38

Galite sukurti savo slapyvardį, kuriame aprašoma, kaip tai padaryti aprašomuoju būdu.

Jei norite atmesti pakeitimus, naudoju šį slapyvardį.


Atmesti pakeitimus (sąrašas) faile (-uose) darbiniame medyje

 discard = checkout -- 

Tada galite naudoti jį ištrinti visus pakeitimus:

 discard . 

Arba tiesiog failas:

 discard filename 

Priešingu atveju, jei norite atšaukti visus pakeitimus, taip pat nepanaudotus failus, naudoju čekių ir švarų derinį:

Išvalykite ir išmeskite pakeitimus ir nekelkite failų darbo medyje

 cleanout = !git clean -df  git checkout -- . 

Todėl naudojimas yra paprastas:

 cleanout 

Dabar pasiekiama šioje „Github“ saugykloje, kurioje yra daug slapyvardžių:

5
05 июня '17 в 7:44 2017-06-05 07:44 Atsakymą pateikė Pau birželio 17 d. 17, 07:44 2017-06-05 07:44

Nė vienas iš sprendimų neveikia, jei ką tik pakeitėte failo teises (tai yra DOS / Windoze)

 Pirm. 23/11 / 2015-15: 16: 34.80 C: ... darbo užsakymas slf4j +> git status Filialas SLF4J_1.5.3 Pakeitimai, kurie nėra atlikti pagal įsipareigojimus:   (naudokite „git add ...“, kad atnaujintumėte tai, kas bus padaryta)   (naudokite „git checkout - ...“, jei norite atmesti darbo katalogo pakeitimus modifikuotas: .gitignore modifikuotas: LICENSE.txt modifikuotas: TODO.txt modifikuotas: codeStyle.xml modifikuotas: pom.xml modifikuotas: version.pl jokių pakeitimų pridėta prie įsipareigojimo (naudokite „git add“ ir / arba „git įsipareigoti -a“) Pirm. 23/11 / 2015-15: 16: 37.87 C: ... darbo apmokėjimas slf4j +> git diff dif --git a / .gitignore b / .gitignore senas režimas 100644 naujas režimas 100755 dif --git a / LICENSE.txt b / LICENSE.txt senas režimas 100644 naujas režimas 100755 dif --git a / TODO.txt b / TODO.txt senas režimas 100644 naujas režimas 100755 dif --git a / codeStyle.xml b / codeStyle.xml senas režimas 100644 naujas režimas 100755 dif --git a / pom.xml b / pom.xml senas režimas 100644 naujas režimas 100755 dif --git a / version.pl b / version.pl senas režimas 100644 naujas režimas 100755 Pirmadienis 23/11 / 2015-15: 16: 45.22 C: ... darbo apmokėjimas slf4j +> git reset --hard HEAD HEAD šiuo metu yra 8fa8488 12133-CHIXMISSINGMESSAGES MALCOLMBOEKHOFF 20141223124940 Pridėta .gitignore Pirm. 23/11 / 2015-15: 16: 47.42 C: ... darbo užsakymas slf4j +> git clean -f Pirm. 23/11 / 2015-15: 16: 53.49 C: ... darbo apmokėjimas slf4j +> git stash save -u Išsaugotas darbo katalogas ir indekso būsena WIP SLF4J_1.5.3: 8fa8488 12133-CHIXMISSINGMESSAGES MALCOLMBOEKHOFF 20141223124940 Pridėta .gitignore HEAD šiuo metu yra 8fa8488 12133-CHIXMISSINGMESSAGES MALCOLMBOEKHOFF 20141223124940 Pridėta .gitignore Pirm. 23/11 / 2015-15: 17: 00.40 C: ... darbo apmokėjimas slf4j +> git stash drop Nukritę refs / stash @ {0} (cb4966e9b1e9c9d8daa79ab94edc0c1442a294dd) Pirm. 23/11 / 2015-15: 17: 06.75 C: ... darbo apmokėjimas slf4j +> git stash drop Nukritę refs / stash @ {0} (e6c49c470f433ce344e305c5b778e810625d0529) Pirm. 23/11 / 2015-15: 17: 08.90 C: ... darbo apmokėjimas slf4j +> git stash drop Nerasta jokių atramų. Pirm. 23/11 / 2015-15: 17: 15.21 C: ... darbo apmokėjimas slf4j +> git checkout -. Pirm. 23/11 / 2015-15: 22: 00.68 C: ... darbo apmokėjimas slf4j +> git checkout -f -. Pirm. 23/11 / 2015-15: 22: 04.53 C: ... darbo apmokėjimas slf4j +> git status Filialas SLF4J_1.5.3 Pakeitimai, kurie nėra atlikti pagal įsipareigojimus:   (naudokite „git add ...“, kad atnaujintumėte tai, kas bus padaryta)   (naudokite „git checkout - ...“, jei norite atmesti darbo katalogo pakeitimus modifikuotas: .gitignore modifikuotas: LICENSE.txt modifikuotas: TODO.txt modifikuotas: codeStyle.xml modifikuotas: pom.xml modifikuotas: version.pl jokių pakeitimų pridėta prie įsipareigojimo (naudokite „git add“ ir / arba „git įsipareigoti -a“) Pirm. 23/11 / 2015-15: 22: 13.06 C: ... darbo apmokėjimas slf4j +> git diff dif --git a / .gitignore b / .gitignore senas režimas 100644 naujas režimas 100755 dif --git a / LICENSE.txt b / LICENSE.txt senas režimas 100644 naujas režimas 100755 dif --git a / TODO.txt b / TODO.txt senas režimas 100644 naujas režimas 100755 dif --git a / codeStyle.xml b / codeStyle.xml senas režimas 100644 naujas režimas 100755 dif --git a / pom.xml b / pom.xml senas režimas 100644 naujas režimas 100755 dif --git a / version.pl b / version.pl senas režimas 100644 naujas režimas 100755

Vienintelis būdas išspręsti šią problemą yra rankiniu būdu atkurti pakeistų failų teises:

 Pirm. 23/11 / 2015-15: 25: 43.79 C: ... darbo užsakymas slf4j +> git status -s |  egrep "^ M"  cut -c4- |  už / f "usebackq tokens = * delims ="% A (`daugiau`) do chmod 644% ~ A Pirm. 23/11 / 2015-15: 25: 55.37 C: ... darbo apmokėjimas slf4j +> git status Filialas SLF4J_1.5.3 nieko, ką daryti, darbo katalogą valyti Pirm. 23/11 / 2015-15: 25: 59.28 C: ... darbo užsakymas slf4j +> Pirm. 23/11 / 2015-15: 26: 31.12 C: ... darbo apmokėjimas slf4j +> git diff
5
23 нояб. Atsakymą pateikė Malcolm Boekhoff lapkričio 23 d. 2015-11-23 07:30 '15, 7:30 2015-11-23 07:30

Jei esate submodulio atveju ir nėra kitų sprendimų, pabandykite:

  • Jei norite patikrinti, kas yra problema (galbūt purvinas atvejis), naudokite:

    git diff

  • Norėdami pašalinti paslėptą tekstą

    git submodule update

5
02 окт. atsakymas pateikiamas onalbi 02 okt. 2015-10-02 00:32 '15 - 0:32 2015-10-02 00:32

Turėjau keistą situaciją, kai failas visuomet trūko, tai padeda man išspręsti.

git rm.gitattributes
git add -A
git reset --hard

5
08 февр. Atsakymas duotas SDV 08 vasario mėn. 2017-02-08 14:58 '17, 14:58 pm 2017-02-08 14:58
  • 1
  • 2

Kiti klausimai apie žymę arba Užduoti klausimą