Skirtumas tarp git butt ir git taikymo

Aš ilgą laiką naudoju git stash pop . Neseniai sužinojau apie git stash apply . Kai aš išbandžiau, jis dirbo lygiai kaip git stash pop .

Koks skirtumas tarp git stash pop ir git stash apply ?

687
08 марта '13 в 6:14 2013-03-08 06:14 „Sandeep Raju Prabhakar“ yra įrengta kovo 13 d. 13 val. 2013-03-08 06:14
@ 4 atsakymai

git stash pop išmeta (viršutinį, numatytąjį) talpyklą po to, kai ji yra naudojama, o git stash apply palieka jį talpyklų sąraše, kad galimas vėlesnis pakartotinis naudojimas (arba tada galite git stash drop nuo git stash drop ).

Tai atsitinka tik po to, kai git stash pop konfliktai, tokiu atveju jis nepašalins talpyklos, palikdamas jį elgtis taip, kaip git stash apply .

Kitas būdas pažvelgti į tai yra: „ git stash pop yra „ git stash apply git stash drop .

1088
08 марта '13 в 6:15 2013-03-08 06:15 atsakymą pateikė John Zwinck, kovo 8 d. 13, 6:15 2013-03-08 06:15

Turite šią naudingą nuorodą, kurioje kalbama apie skirtumą, kaip nurodė Johnas Zvinkas ir Git stash pop trūkumas.

Pavyzdžiui, pasakykite, kad paslėpti pakeitimai prieštarauja kitiems pakeitimams, kuriuos padarėte nuo dubens sukūrimo. Abiejų tipų pop ir taikymas efektyviai veiks sujungimo konfliktų sprendimo režimu, leidžiančiu jums gerai išspręsti tokius konfliktus ... ir nė vienas iš jų neatsipalaiduoja iš piniginės, net jei galbūt tikitės pop muzikos. Kadangi daugelis žmonių tikisi, kad antspaudai bus paprasčiausiai paprastas kaminas, tai dažnai lemia tai, kad jie netyčia paspaudė tą patį antspaudą, nes jie manė, kad jis dingo.

Nuoroda http://codingkilledthecat.wordpress.com/2012/04/27/git-stash-pop-considered-harmful/

68
23 сент. Atsakymą pateikė briankip 23 rugsėjis 2013-09-23 23:42 '13, 23:42 2013-09-23 23:42

git stash pop taiko viršutinį paslėptą elementą ir pašalina jį iš kamino. git stash apply veikia tą patį, bet palieka ant kamino kamino.

41
08 марта '13 в 6:16 2013-03-08 06:16 atsakymą pateikė „ Jchapa “ kovo 8 d. 13 d. 6:16 2013-03-08 06:16

Matydami šį veiksmą, galite geriau suprasti skirtumą.

Darant prielaidą, kad dirbame master filiale ir turime failą hello.txt , kuriame yra eilutė „Hello“.

Leiskite modifikuoti failą ir pridėti jam eilutę „pasaulis“. Dabar norite persijungti į kitą filialą, kad išspręstumėte nedidelę klaidą, kurią ką tik radote, taigi jums reikia keisti stash :

 git stash 

Jūs persikėlėte į kitą filialą, nustatėte klaidą ir dabar esate pasirengę tęsti darbą su master filialu, todėl pakeisite pop :

 git stash pop 

Dabar, jei bandysite peržiūrėti turinio turinį, kurį gausite:

 $ git stash show -p No stash found. 

Tačiau vietoj to, jei naudojate „ git stash apply , gausite paslėptą turinį, tačiau taip pat išsaugosite:

 $ git stash show -p diff --git a/hello.txt b/hello.txt index e965047..802992c 100644 --- a/hello.txt +++ b/hello.txt @@ -1 +1 @@ -Hello +Hello world 

Taigi, „ pop yra tarsi „pop-stack“ - jis iš tikrųjų ištrina elementą po to, kai jis kyla, ir apply labiau kaip žvilgsnis.

27
30 нояб. Atsakymas pateikiamas Marouno lapkričio 30 d. 2016-11-30 15:27 '16 at 15:27 2016-11-30 15:27

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