Kā noturēt izmaiņas ar saistīto vārdu un atrast to pēc tam
Izstrādātājiem bieži ir jāveic daudzuzdevumu veikšana. Iespējams, jūs strādājat pie jaunas funkcijas, un, iespējams, ir pieprasījums novērst kļūdu. Vai arī jūs varētu būt vairāku projektu galvenais izstrādātājs.
Pārslēdzoties starp uzdevumiem, dažreiz nevēlaties veikt nepabeigtu darbu. Šajos gadījumos git stash komanda var būt lieliska palīdzība. Tas ļauj sakraut izmaiņas un vēlāk atgriezties pie nepabeigtā darba, nepievienojot nevajadzīgas saistības savās krātuvēs.
Git Stash darbplūsma
Inicializēsim git galveno filiāli un izveidosim failu ReadMe.txt.
$ mkdir my_project$ cd my_project /
$ git init
$ pieskarieties ReadMe.txt
$ git pievienot -A
$ git saistības -m "Inicializēt"
Tagad pievienosim vēl vienu failu ar nosaukumu a.txt uz galveno filiāli.
$ pieskarieties a.txt$ git pievienot -A
$ git saistīt -m "Pievienots a.txt "
Pārbaudot vēsturi, redzēsiet:
$ git log - tiešsaistēd79f7aa Pievienots a.txt
9434d7e Inicializēt
Tagad izveidosim filiāli feature1 un pievienosim b.txt fails:
$ git filiāles iezīme$ git norēķinu funkcija
$ pieskarieties b.txt
$ git pievienot -A
$ git saistīt -m "Pievienots b.txt "
Atveriet savu b.txt failu redaktorā un ievietojiet rindā:
Es gatavojos mainīt to uz ..Un saglabājiet failu. Ja pārbaudāt savu git statusu, redzat:
$ git statussPar filiāles pazīmi
Izmaiņas, kas nav notikušas saistībām:
(izmantojiet "git add
(izmantojiet "git checkout --
modificēts: b.txt
nav izdarītas nekādas izmaiņas (izmantojiet "git add" un / vai "git saistīt -a")
Pieņemsim, ka šajā posmā jūs saņemat pieprasījumu atjaunināt a.txt fails galvenajā filiālē. Bet jūs neesat pabeidzis ar b.txt fails. Mēģinot pārbaudīt galveno filiāli, tiek parādīta šāda kļūda:
$ git norēķinu meistarskļūda: norēķinoties tiks pārrakstītas jūsu vietējās izmaiņas šajos failos:
b.txt
Lūdzu, veiciet izmaiņas vai atliciniet tās, pirms varat mainīt filiāles.
Abortēšana
Bet jūs nevēlaties veikt nepabeigto darbu b.txt. Šajā situācijā varat izmantot git atlicināt:
$ git atlicinātSaglabāts darba direktorija un indeksa stāvokļa WIP vietnē feature1: 2cfe39b Pievienots b.txt
HEAD tagad atrodas vietnē 2cfe39b Pievienots b.txt
Ja pārbaudīsit b.txt, tam jābūt tukšam:
$ kaķis b.txt$
Pārbaudot atlicināt, jūs redzēsiet:
$ git atlicināt sarakstsatlicināt @ 0: WIP par feature1: 2cfe39b Pievienots b.txt
Ja mēģināt pārbaudīt galveno filiāli, jums vajadzētu būt iespējai to izdarīt tūlīt:
$ git norēķinu meistarsPārslēgts uz filiāli “kapteinis”
Pieņemsim, ka veicat nepieciešamās izmaiņas galvenajā un pēc tam atgriezieties pie iezīme1:
$ git norēķinu funkcijaJūsu b.txt joprojām ir tukšs:
$ kaķis b.txt$
Bet, ja jūs saņemat izmaiņas no atlicināšanas, izmantojot šādu komandu:
Piesakies $ git atlicinātPar filiāles pazīmi
Izmaiņas, kas nav notikušas saistībām:
(izmantojiet "git add
(izmantojiet "git checkout --
modificēts: b.txt
nav izdarītas nekādas izmaiņas (izmantojiet "git add" un / vai "git saistīt -a")
Komanda atlicināt pielietoja atlicinātās izmaiņas un piemēroja to b.txt fails
Jūs varat pabeigt savu darbu b.txt manu modificēšanas līniju
Uz
Tagad turpiniet un veiciet izmaiņas:
$ git pievienot -A$ git saistīt -m "Pārveidots b.txt ”
Lietojot atlicinātāju, tā netiek automātiski notīrīta. Jums tas jātīra manuāli:
$ git atlicinātNomesti refs / atlicināt @ 0 (0a66a16b32633e8d564d08e38254c491c1b1d3be)
Kāpēc Git Stash ar vārdu?
Git atlicināt ir kaudze. Tātad jūs varat turpināt krāt izmaiņas.
Pieņemsim, ka b pievienojat “X”.txt, atliciniet to, pievienojiet “Y” b.txt, atliciniet to un pievienojiet “Z” b.txt un atliciniet to. Pārbaudot atlicināšanas vēsturi, redzēsiet kaut ko līdzīgu:
$ git atlicināt saraksts[aizsargāts ar e-pastu] 0: WIP on feature1: 2d6f515 Modified b.txt
[aizsargāts ar e-pastu] 1: WIP on feature1: 2d6f515 Modified b.txt
[aizsargāts ar e-pastu] 2: WIP on feature1: 2d6f515 Modified b.txt
Jums nav iespējas uzzināt, kura atlicinātāja ir mainījusies. Kad jūs steidzaties, komentāru ievietošanai varat izmantot iespēju Saglabāt. Varat izmantot komentārus, lai jūsu atlicināšanai pievienotu vārdu un padarītu tos atpazīstamus:
$ git atlicināt, saglabājot “X”Saglabāts darba direktorijs un indeksa stāvoklis On feature1: X
HEAD tagad atrodas vietnē 2d6f515 Modified b.txt
Lai pievienotu “X”, “Y” un “Z” modifikācijas, jūs savā atmiņā varat iegūt sekojošo, izmantojot katras atlicināšanas opciju:
$ git atlicināt sarakstsatlicināt @ 0: 1. objektā: Z
atlicināt @ 1: 1. objektā: Jā
atlicināt @ 2: 1. objektā: X
Tagad jums ir katras ievietotās izmaiņas nosaukums. Diemžēl jūs nevarat izmantot nosaukumu, lai izgūtu atlicinājumu. Jums būs jāizmanto atlicināšanas numurs. Pieņemsim, ka vēlaties iegūt izmaiņas “Y”. Jūs redzat, ka [aizsargāts ar e-pastu] 1 ir Y. Lai jūs varētu piemērot šīs izmaiņas savai pašreizējai filiālei:
$ git atlicināt lietot atlicināt @ 1Un jūsu b.Txt ir jābūt izmaiņām no [email protected] 1.
Varat izmantot to pašu metodi, lai nomestu atlicinājumu. Pieņemsim, ka jūs saprotat, ka jums vairs nav nepieciešams X atlicināt. Lai izdzēstu šo atlicinājumu, varat vienkārši izmantot šādu komandu:
$ git atlicināt atlicināt atlicināt @ 2Atlicis atlicināt:
$ git atlicināt sarakstsatlicināt @ 0: 1. objektā: Z
atlicināt @ 1: 1. objektā: Jā
Atcerieties, ka, ja izmantojat opcijas Apply un Drop bez parametriem, tā izmantos kaudzes augšdaļu ([email protected] 0).
Secinājums
Git stash komanda ir spēcīgs veids, kā pārvaldīt savu darbvietu. Šīs komandas apgūšana palīdzēs strādāt efektīvāk.
Turpmāka izpēte:
- https: // git-scm.com / book / en / v1 / Git-Tools-Stashing
Atsauces:
Steka pārpilde: kā nosaukt un izgūt atlicināt-pēc-nosaukuma-in-git