Git

Git Stash s menom

Git Stash s menom

Ako Git uložiť vaše zmeny s priradeným menom a potom ich nájsť

Vývojári musia často vykonávať viac úloh naraz. Možno pracujete na novej funkcii a môže sa vyskytnúť požiadavka na opravu chyby. Alebo môžete byť vedúcim vývojárom viacerých projektov.

Keď prechádzate medzi úlohami, niekedy sa vám nechce vykonávať nedokončenú prácu. V týchto prípadoch môže byť skvelým pomocníkom príkaz git stash. Umožňuje vám ukladať zmeny a neskôr sa vrátiť k nedokončenej práci bez pridávania zbytočných záväzkov do vašich úložísk git.

Pracovný postup pre Git Stash

Poďme inicializovať hlavnú vetvu git a spáchať súbor ReadMe.TXT.

$ mkdir môj_projekt
$ cd môj_projekt /
$ git init
$ touch ReadMe.TXT
$ git pridať -A
$ git commit -m "Inicializovať"

Teraz pridajme ďalší súbor s názvom a.txt do hlavnej pobočky.

$ dotyk a.TXT
$ git pridať -A
$ git commit -m "Pridané a.TXT"

Ak skontrolujete históriu, uvidíte:

$ git log - online
d79f7aa Pridané a.TXT
9434d7e Inicializuje sa

Teraz vytvorme vetvu feature1 a pridajme b.súbor txt:

$ git pobočka feature1
Funkcia pokladnice $ git1
$ dotyk b.TXT
$ git pridať -A
$ git commit -m "Pridané b.TXT"

Otvorte b.súbor txt v editore a vložte do riadku:

Chystám sa to zmeniť na ..

A uložte súbor. Ak skontrolujete stav git, uvidíte nasledovné:

stav $ git
Na pobočke feature1
Zmeny, ktoré nie sú zavedené pre potvrdenie:
(použite „git add … “Na aktualizáciu toho, čo bude spáchané)
(použite „git checkout -- … “Pre zahodenie zmien v pracovnom adresári)
 
upravené: nar.TXT
 
k potvrdeniu neboli pridané žiadne zmeny (použite „git add“ a / alebo „git commit -a“)

Predpokladajme, že v tejto fáze dostanete žiadosť o aktualizáciu a.súbor txt na hlavnej vetve. Ale s b. Ste neskončili.súbor txt. Ak sa pokúsite skontrolovať hlavnú vetvu, zobrazí sa nasledujúca chyba:

$ git pokladňa, majster
chyba: Vaše miestne zmeny v nasledujúcich súboroch by boli prepísané platbou:
b.TXT
Pred prepnutím pobočiek vykonajte zmeny alebo ich uložte.
Prerušuje sa

Ale nechcete sa dopustiť nedokončenej práce v b.TXT. Git stash môžete použiť v tejto situácii:

$ git skrýša
Uložený pracovný adresár a stav indexu WIP na feature1: 2cfe39b Pridané b.TXT
HEAD je teraz na 2cfe39b Pridané b.TXT

Ak zaškrtnete b.txt, malo by to byť prázdne:

$ mačka b.TXT
$

Ak zaškrtnete skrýšu, uvidíte:

$ git skrytý zoznam
stash @ 0: WIP na feature1: 2cfe39b Pridané b.TXT

Ak sa pokúsite skontrolovať hlavnú vetvu, mali by ste to urobiť teraz:

$ git pokladňa, majster
Prepnuté na pobočku „hlavný“

Predpokladajme, že vykonáte potrebné zmeny na hlavnom počítači a potom sa vrátite späť do vetvy feature1:

Funkcia pokladnice $ git1

Tvoj b.txt je stále prázdny:

$ mačka b.TXT
$

Ak však získate zmeny zo skrýšy pomocou nasledujúceho príkazu:

$ git skrýša platí
 
Na pobočke feature1
Zmeny, ktoré nie sú zavedené pre potvrdenie:
(použite „git add … “Na aktualizáciu toho, čo bude spáchané)
(použite „git checkout -- … “Pre zahodenie zmien v pracovnom adresári)
 
upravené: nar.TXT
 
k potvrdeniu neboli pridané žiadne zmeny (použite „git add“ a / alebo „git commit -a“)

Príkaz stash apply vzal skryté zmeny a použil ich na b.súbor txt
Svoju prácu môžete dokončiť v b.txt moja úprava riadku

Chystám sa to zmeniť na ..


To

Chystám sa to zmeniť na HOTOVO

Teraz pokračujte a vykonajte zmeny:

$ git pridať -A
$ git commit -m "Upravené b.TXT"

Aplikácia skrýšy ju automaticky nevyčistí od skrýšy. Musíte to vyčistiť manuálne:

$ git stash drop
Zrušené odporúčanie / skladovanie @ 0 (0a66a16b32633e8d564d08e38254c491c1b1d3be)

Prečo Git Stash s menom?

Úložisko git je stoh. Takže môžete svoje zmeny hromadiť ďalej.

Predpokladajme, že do písmena b pridáte „X“.txt, uložte ho, pridajte „Y“ do b.txt, uložte ho a pridajte „Z“ do b.txt a schovať ho. Ak skontrolujete históriu ukladania, zobrazí sa niečo podobné:

$ git skrytý zoznam
[chránené e-mailom] 0: WIP na feature1: 2d6f515 Upravené b.TXT
[chránené e-mailom] 1: WIP na feature1: 2d6f515 Upravené b.TXT
[chránené e-mailom] 2: WIP na feature1: 2d6f515 Upravené b.TXT

Nemáte ako vedieť, ktorá skrýša má ktorú zmenu. Keď sa nachádzate v zálohe, môžete do komentárov vložiť možnosť uloženia. Pomocou komentárov môžete k svojmu skrytu pripojiť meno a urobiť ho tak rozpoznateľným:

$ git skrýša uložiť "X"
Uložený pracovný adresár a stav indexu Na feature1: X
HEAD je teraz na 2d6f515 Modified b.TXT

Ak chcete pridať modifikáciu „X“, „Y“ a „Z“, môžete v priečinku skrývať nasledujúce položky pomocou možnosti uloženia pre každú skrýšu:

$ git skrytý zoznam
stash @ 0: Zapnutý feature1: Z
stash @ 1: Zapnutý feature1: Y
stash @ 2: Zapnuté feature1: X

Teraz máte názov pre každú uloženú zmenu. Názov bohužiaľ nemôžete použiť na získanie skrýšy. Budete musieť použiť skrýšené číslo. Predpokladajme, že chcete dosiahnuť zmenu „Y“. Uvidíte, že [chránený e-mailom] 1 je Y. Túto zmenu teda môžete uplatniť na svoju aktuálnu pobočku:

$ git stash použiť stash @ 1

A tvoja b.txt by mal mať zmeny z [email protected] 1.

Rovnakou metódou môžete odhodiť skrýšu. Predpokladajme, že si uvedomíte, že už X skrýšu nepotrebujete. Na odstránenie tejto položky môžete použiť iba nasledujúci príkaz:

$ git skrýša kvapka skrýša @ 2

A skrýša by mala byť preč:

$ git skrytý zoznam
stash @ 0: Zapnutý feature1: Z
stash @ 1: Zapnutý feature1: Y

Pamätajte, že ak použijete možnosti použitia a pustenia bez akýchkoľvek parametrov, použije sa horná časť zásobníka ([chránené e-mailom] 0).

Záver

Príkaz git stash je výkonný spôsob, ako spravovať svoj pracovný priestor. Ovládanie tohto príkazu vám pomôže pracovať efektívnejšie.

Ďalšie štúdium:
  • https: // git-scm.com / book / en / v1 / Git-Tools-Stashing
Referencie:

Stack Overflow: how-to-name-and-retrieve-a-stash-by-name-in-git

Recenzia bezdrôtovej myši Microsoft Sculpt Touch
Nedávno som čítal o Microsoft Sculpt Touch bezdrôtová myš a rozhodol sa ju kúpiť. Po chvíli používania som sa rozhodol s ním podeliť o svoje skúsenost...
Trackpad a ukazovateľ myši AppyMouse na obrazovke pre tablety so systémom Windows
Používateľom tabletov často chýba ukazovateľ myši, najmä keď notebooky bežne používajú. Dotykové smartphony a tablety majú veľa výhod a jediným obmedz...
Stredné tlačidlo myši nefunguje v systéme Windows 10
The stredné tlačidlo myši pomáha vám prechádzať dlhé webové stránky a obrazovky s množstvom údajov. Ak sa to zastaví, budete nakoniec používať klávesn...