Programmēšana

5 uzlabotas Git komandas, lai uzlabotu jūsu Git spēli

Ja šodien esat izstrādātājs, iespējams, ka esat iemācījies versiju kontroles sistēmu Git, kas ir mūsdienu programmatūras darbplūsmas pamatā. Jūs zināt pamatus - kā darbojas krātuves, kā izveidot filiāles un veikt izmaiņas un kā apvienot šīs izmaiņas un piesaistīt pieprasījumus.

Bet tagad, kad jūs zināt pamatus, ir pienācis laiks nedaudz paaugstināties - lai savā darbplūsmā izmantotu dažas no jaudīgākajām Git funkcijām. Šeit ir piecas uzlabotas Git funkcijas, kas ir daļa no jūsu pašreizējiem un nākamajiem izstrādātāju centieniem.

Vienkāršojiet saistību vēstures ar git rebase

Ja projektā ir divas filiāles (piemēram, attīstības filiāle un galvenā filiāle), abās ir izmaiņas, kas jāapvieno, apvienot komanda ir dabisks un vienkāršs veids, kā tos apvienot. A sapludināt pievieno vienas nozares attīstības vēsturi kā apvienošanās saistību ar otru. Lai gan tas pilnībā glabā abas vēstures, tas var apgrūtināt projekta kopējās vēstures ievērošanu. Dažos gadījumos jūs varētu vēlēties vienkāršāku un tīrāku rezultātu.

The git rebase komanda arī apvieno divas filiāles, taču to dara nedaudz savādāk. A git rebase pārraksta vienas filiāles saistību vēsturi tā, lai otra filiāle tajā tiktu iestrādāta no vietas, kur tā tika izveidota. Tas padara mazāk trokšņainu un lineārāku šīs nozares vēsturi. Bet tas nozīmē arī to, ka tiek noņemta potenciāli noderīga informācija par otru filiāli un apvienošanas procesu.

Šajā nolūkā pārvērtēt vislabāk izmantot, ja jums ir vairāki Privāts filiāles, kuras vēlaties apvienot vienā tīrā saistību vēsturē, pirms to apvienojat ar publisku filiāli. Tādā veidā jūs izmantojat visas priekšrocībaspārvērtēt - padarīt saistību vēsturi lineārāku un mazāk trokšņainu - neaizklājot būtiskas detaļas par saistību ar jūsu projektu vēsturi.

Iztīrīt saplūst ar git sapludināt - skvošs

Vēl viens veids, kā apvienot un sekojošas saistības padarīt mazāk trokšņainas, ir - skvošs opcija apvienot. - skvošs paņem visas saistības no ienākošās filiāles un saplacina tās vienā konsolidētā saistībā.

Saspiesta sapludināšanas skaistums ir tāds, ka jūs varat izvēlēties, kā pielietot iegūtos pakāpeniskos failus. Varat vienkārši veikt visu izmaiņu kopu kā vienu, vai arī veikt dažus failus vienlaikus, ja izmaiņas ir cieši saistītas. Saspiesta sapludināšana ir noderīga arī tad, ja ienākošās filiāles saistību vēsture ir noderīga tikai šīs filiāles kontekstā vai ja tā ir no privāta filiāles, kuru tik un tā izmetīs.

Tāpat kā ar pārvērtēt, šī tehnika vislabāk darbojas, lai apņemtos iekšējs filiāles apgūt, bet tas ir piemērots arī pieprasījumiem, ja nepieciešams.

Paātriniet kļūdu meklēšanu ar git bisect

Smalkākās regresijas kodā ir visgrūtāk izsmiet. Iedomājieties, ka jūs tikko pievienojāt testu savai koda bāzei, lai vajātu kļūdu, taču neesat pārliecināts, kad kļūda parādījās pirmo reizi ... un jūsu krātuvē ir simtiem vai pat tūkstošiem apņemšanos. Thegit bisect komanda ļauj ievērojami samazināt meklējamā koda daudzumu, lai atrastu saistību, kas radīja kļūdu.

Kad iespējojat divpusēji (git divpusējs sākums) jūs savā koda bāzē norādāt divus punktus, lai piesaistītu meklēšanu: vienu, kur jūs zināt, ka lietas ir sliktas (GALVA, parasti), un kur jūs zināt, ka lietas joprojām bija labas. divpusēji pārbaudīs apņemšanos pusceļā starp slikto un labo un ļaus jums veikt testus. Šis binārā sadalīšanas process atkārtojas, līdz izrādās apņemšanās, kas salauza lietas.

git bisect ir lielisku koda bāzu ar garām, sarežģītām saistību vēsture gods, kas aiztaupa jūs ar grūtībām, ka jums ir jāiziet katrs pēdējais solījums, cerot, ka jūs agrāk vai vēlāk atradīsit savu kļūdu. Pie ļoti vismazāk, tas samazina uz pusi nepieciešamo meklēšanas un testēšanas apjomu.

Atkārtoti apņemieties ar git ķiršu pick

Daudzi ir progresējuši git komandas ir noderīgas tikai šauri specifiskos apstākļos, un pat vidēji pieredzējuši lietotāji to droši ignorē. Bet, kad jūs nokļūstat vienā no šiem īpašajiem apstākļiem, ir vērts tos zināt.

Apsveriet git ķiršu pick. Tas ļauj jums paņemt noteiktu apņemšanos - jebkuru apņemšanos, no jebkuras filiāles - un pielietot to citā zarā, nepiemērojot citas izmaiņas šīs saistības vēsturē. Tas ir noderīgi dažos galvenajos apstākļos:

  • Jūs apņēmāties nepareizu zaru un vēlaties to ātri piemērot pareizajam.
  • Pirms turpināt citu darbu pie maģistrāles koda, vēlaties piemērot labojumu no filiāles uz bagāžnieku.

Ņemiet vērā, ka jums ir dažas iespējas, turklāt tieši piemērojot saistības, kad esat ķiršu pick to. Ja jūs nokārtojat --nav saistības opcija, piemēram, ķiršu izvēlētā saistība tiek ievietota pašreizējās filiāles pieturvietā.

Organizējiet projektus eleganti, izmantojot Git apakšmoduļus

Tāpat kā lielākā daļa programmēšanas valodu nodrošina veidu, kā importēt paketes vai moduļus, Git piedāvā veidu, kā viena repozitorija saturu automātiski iekļaut citā, apakšmodulis. Varat izveidot apakšdirektoriju repo iekšpusē un automātiski to aizpildīt ar citas repo saturu, konsekvences labad parasti atsaucoties uz konkrētu saistīšanas jaucējkomandu.

Ņemiet vērā, ka Git apakšmoduļi vislabāk darbojas šādos apstākļos:

  • Attiecīgie apakšmoduļi bieži nemainās vai arī tie ir bloķēti konkrētai saistībai. Jebkurš darbs ieslēgts apakšmodulis, nevis ar apakšmodulis, jāpārvalda atsevišķi.
  • Ikviens izmanto Git versiju, kas atbalsta apakšmoduļus un saprot darbības, kas nepieciešamas darbam ar tiem. Piemēram, apakšmoduļu direktoriji ne vienmēr tiek automātiski aizpildīti ar apakšmoduļu krātuves saturu. Jums var būt nepieciešams izmantot git apakšmoduļa atjauninājums repo komanda, lai viss tiktu atjaunināts.
$config[zx-auto] not found$config[zx-overlay] not found