Kaip paslėpti konkretų failą?

Galimas dublikatas:
Kaip išsaugoti tik vieną failą iš kelių pakeistų failų

Kaip aš galiu kirsti konkretų failą, paliekant likusius pakeitimus iš to, kurį ketinu išsaugoti?

Pvz., Jei „git“ būsena suteikia man:

 younker % gst # On branch master # Your branch is ahead of 'origin/master' by 1 commit. # # 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: app/controllers/cart_controller.php # modified: app/views/cart/welcome.thtml # no changes added to commit (use "git add" and/or "git commit -a") 

ir tik noriu pridėti programą /views/cart/welcome.thtml, kaip tai padaryti? Kažkas panašaus (bet, žinoma, neveikia):

 git stash save welcome_cart app/views/cart/welcome.thtml 
1147
01 апр. nustatyti ynkr 01 balandžio. 2011-04-01 00:05 '11 - 0:05 2011-04-01 00:05
@ 2 atsakymai

EDIT: Pradedant nuo git 2.13, yra komanda, leidžianti išsaugoti konkretų kelią į atmintinę: git stash push <path> . Pavyzdžiui:

 git stash push -m welcome_cart app/views/cart/welcome.thtml 

Senas atsakymas:

Tai galite padaryti naudodami git stash --patch (arba git stash -p ) - įeisite į interaktyvųjį režimą, kur jums bus pateiktas kiekvienas modifikuotas git stash -p . Naudokite n norite praleisti failus, kurių nenorite išsaugoti, y kai susiduriate su tuo, kurį norite išsaugoti, ir q norite išeiti, ir likusius fragmentus palikti nepakitę. a išsaugos rodomą gabalą ir likusius šio failo fragmentus.

Ne pats patogiausias metodas, bet jis atlieka darbą, jei to tikrai reikia.

1761 m
01 апр. atsakymas pateikiamas svick 01 balandžio. 2011-04-01 00:19 '11 prie 0:19 2011-04-01 00:19

Paprastai pridedu indeksų, kurių nenoriu išlaikyti, pakeitimus, o tada išsaugokite juos naudodami -keep-index parinktį.

 git add app/controllers/cart_controller.php git stash --keep-index git reset 

Paskutinis žingsnis yra neprivalomas, bet paprastai jums reikia. Jis pašalina pokyčius iš indekso.


Dėmesio Kaip pažymėta komentaruose, tai viską veda į talpyklą, tiek pristatytą, tiek nenurodytą. Indekso kontrolė paprasčiausiai palieka indeksą tik tada, kai įvykdoma talpykla. Tai gali sukelti konfliktų sujungimą, kai vėliau įdėsite talpyklą.

260
18 дек. atsakymas pateikiamas skalee 18 dec. 2012-12-18 23:40 '12 11:40 2012-12-18 23:40

Peržiūrėkite kitus klausimus apie „ žymes arba užduokite klausimą

"192.102.6.96 - 192.102.6.96"