Pokročilý návod Git

Pokročilý návod Git

Nasadenie projektu prostredníctvom vzdialeného úložiska vám umožní flexibilne spravovať každý jeho kúsok. Opravy chýb, aktualizácie funkcií, mazanie súborov, tímová práca, príspevky z open source, nasadenie kódu a ďalšie sú teraz na dosah ruky so silnou znalosťou Gitu.





Používate teda Git, ale chcete vedieť viac? Tu je niekoľko pokročilejších tipov Git, vďaka ktorým bude ovládanie verzie vášho projektu hračkou.





Pobočka Git

Vetva Git vám bráni v tlačení priamo na hlavnú vetvu. Je to užitočné, ak projekt riadite s tímom vývojárov. Môžete vytvoriť ľubovoľný počet pobočiek Git a potom ich neskôr zlúčiť s hlavnou vetvou.





Vytvorte pobočku Git

Na vytvorenie vetvy Git použite:

git branch branch_name

Prepnúť na pobočku Git

Použite odhlásiť sa prepnúť na pobočku Git:



git checkout branch_name

Po prepnutí na pobočku môžete svoje zmeny predvádzať pomocou git add -všetko . Potom ich spáchajte pomocou súboru git commit -m 'zaviazať meno' príkaz.

Porovnajte pobočku s majstrom

Použi git rozdiel príkaz:





git diff master..branch_name

Ak chcete porovnať konkrétne súbory:

git diff master..testb -- main.html

Porovnanie dvoch vetiev je podobné porovnaniu vetvy s predlohou:





git diff branch1..branch2

Ak chcete vidieť rozdiely v konkrétnom súbore medzi dvoma vetvami:

git diff branch1..branch2 -- main.html

Odoslať zmeny na vzdialenú pobočku

Možno budete chcieť, aby sa iný vývojár pozrel na zmeny, ktoré ste urobili v súbore vo vašej miestnej pobočke, predtým, ako ich zverejníte. Osvedčeným postupom je presunúť svoju miestnu pobočku Git do vzdialenej repliky, aby sa mohli pozrieť.

Predpokladajme, že ste v minulosti vytvorili lokálnu pobočku s názvom zmeny . Môžete prepnúť na miestnu pobočku, upraviť všetky požadované súbory, potom ich usporiadať a priradiť k danej pobočke.

Potom môžete tieto zmeny odoslať do vzdialenej verzie pobočky:

git push origin changes

Zlúčte vzdialenú pobočku s majstrom pomocou žiadosti o vytiahnutie

Ďalší programátor teda auditoval zmeny vo vzdialenej vetve ( zmeny ). Ale chcete ho zlúčiť s hlavnou vetvou a posunúť ho naživo.

Nezabudnite, že vaša vzdialená pobočka zdedí názov vašej miestnej pobočky Git ( zmeny ). Tu je postup, ako zlúčiť zmeny:

Prepnúť na hlavnú vetvu:

git checkout master

Vytiahnite pôvod alebo HLAVU vetvy ( zmeny ) a zlúčiť ho s hlavnou vetvou:

git pull origin changes

Odoslať toto zlúčenie naživo do hlavnej vetvy:

git push origin master

Namiesto toho použite Git Merge

Na zlúčenie vetvy s predlohou pomocou choď príkaz:

Migrovať na hlavnú vetvu:

git checkout master

Zlúčte to s pobočkou ( zmeny ):

git merge changes

Potom naživo zlúčte zlúčenie do hlavnej vetvy:

ok google zapni mi baterku
git push origin master

Zaistite výmenu zmeny s názvom vašej pobočky.

Akonáhle je zlúčenie úspešné, môžete potom odstráňte pobočku lokálne a vzdialene ak ho už nepotrebujete:

Súvisiace: Ako premenovať pobočku v Git

Git Rebase

Ak máte viac pobočiek so zastaralými potvrdeniami, môžete súbor zmeniť hlava/refer týchto pobočiek zdediť hlava/refer aktualizovaného.

Rebasing preto príde vhod, keď potrebujete aktualizovať niektoré pobočky na základe aktuálnej.

Rebasing by však nemal byť častou činnosťou, najmä ak pracujete s tímom, pretože môže narušiť celý pracovný tok. Ak však pracujete sami a poznáte pracovný postup a pobočky, rebasing by nemal spôsobiť chaos, ak viete, kde a ako ho použiť.

Predpokladajme napríklad, že máte dve vetvy; vetva1 a vetva2. Teraz ste v pobočke1 už nejaký čas nevykonali žiadne zmeny. Dôsledne však zaväzujete zmeny v pobočke2, vrátane nedávno.

Rozhodli ste sa teda nosiť vetvu1 spolu s prúdom. Premenovanie pobočky1 na vetvu2 teda znamená, že poviete vetve1, aby ignorovala svoje predchádzajúce potvrdenia a zdedila nedávne potvrdenie vykonané pre vetvu2.

Takto to môžete urobiť:

Prepnúť na opustenú vetvu (vetva1):

git checkout branch1

Potom rebase pobočky1 na aktualizovanú vetvu2:

git rebase branch2

Git Squash

Git squash vám umožňuje zlúčiť viac potvrdení do jedného. Pomáha, keď beháte git commit mnohokrát pri jednej aktualizácii. Praktickým príkladom je, keď každá oprava chyby alebo refaktor faktora jednej funkcie má samostatné potvrdenie.

Ale možno nebudete chcieť tlačiť na záväzok HEAD so sprievodnými, pretože všetky majú rovnaký účel. Odporúčaným prístupom je stlačiť ich do jedného, ​​aby nedošlo k zámene pri sledovaní spáchaní.

Najlepším spôsobom, ako odstrániť squash, je interaktívny režim rebase. Pozrite sa na príklad nižšie, aby ste to lepšie pochopili.

V tomto prípade predpokladajme, že máte päť opráv chýb. A pre každého z nich je záväzok. Tu je návod, ako môžete týchto päť záväzkov zlúčiť do jedného:

Utekaj git reflog ak chcete zobraziť hashovací kód vašich potvrdení:

git reflog

Tu je výsledok v tomto prípade:

Teraz je vašim cieľom zrušiť posledných päť potvrdení, počnúc prvá oprava až do piata oprava .

Za týmto účelom skopírujte hash kód potvrdenia nižšie prvá oprava ( 0a83962 ). Potom stlačte Q prestať s reflog .

Teraz bežte git rebase -interaktívne na tom hashe.

git rebase --interactive 0a83962

Git potom otvorí interaktívny súbor rebase, ktorý vyzerá takto:

Ak chcete zrušiť záväzky, okrem prvá oprava , vymeňte vyzdvihnúť s s za každý ďalší záväzok:

Uložte a zatvorte tento súbor.

Potom sa otvorí ďalší súbor, ktorý môžete premenovať zmačknutým potvrdením:

100% miesto na disku Windows 10

Vyčistite ich a zadajte preferovaný názov pre zmačkaný príkaz:

Uložte ten súbor. Potom ho zatvorte a na terminál by vám mala prísť správa o úspechu.

Poznámka: Interaktívny súbor sa môže otvoriť v termináli. Ak však používate operačný systém Windows, možno budete chcieť vynútiť, aby váš terminál globálne otváral súbory do vášho obľúbeného textového editora, aby bolo squashing jednoduché.

Ak to chcete urobiť, otvorte príkazový riadok a spustite:

git config --global core.editor ''path to choice text editor' -n -w'

Git Fork vs. Git Clone

Vidlica a klonovanie sú v Gite dva rôzne pojmy. Svoj úložisko nemôžete rozdvojiť, pretože už je tam s vami. Môžete však vložiť úložisko iných ľudí a potom ho klonovať.

Rozklopenie úložiska znamená, že vezmete kópiu niekoho úložiska a urobíte z neho svoje. Hneď ako získate kópiu tohto úložiska, môžete ho klonovať tak, ako by ste to urobili pre ktorékoľvek zo svojich úložísk git pre miestne zmeny.

Tu je postup klonovať vzdialené úložisko na GitHub a spustite sťahovanie do miestneho adresára:

git clone https://github.com/username/repository_name.git/

Obnovte súbor do pôvodného stavu

Ak chcete vymazať zmeny v súbore po poslednom potvrdení, môžete použiť git obnoviť príkaz:

git restore filename

Zmeniť záväzok

Ak zabudnete vykonať zmeny niektorých súborov počas ich vytvárania, môžete sa vrátiť k predchádzajúcemu potvrdeniu.

Vykonajte zmeny v súbore, ktorý ste zabudli. Potom použite git zmeniť skontrolovať záväzok:

git add file_forgotten
git commit --amend

Súbory unstage

Môžete odstrániť konkrétne súbory, ktoré ste vytvorili pre spáchanie, pomocou choď rm príkaz:

git rm --cached filename

Môžete tiež odstrániť niekoľko súborov naraz:

git rm --cached file1 file2 file3 file4

Nezabudnite pripojiť príslušnú príponu súboru k akémukoľvek súboru, ktorý vynímate. Napríklad obyčajný textový súbor by mal byť názov súboru.txt .

Súvisiace: Ako vyčistiť Git a odstrániť nesledované súbory

Git Reset

Použitím git reset je užitočné, ak chcete naraz odhodiť všetky súbory, ktoré ste vytvorili, na potvrdenie:

git reset

Git reset HEAD však nasmeruje HEAD pobočky na konkrétne potvrdenie vo vašom pracovnom strome. Ak ste napríklad ešte neposlali svoje aktuálne potvrdenie, môžete sa vrátiť k nedávno odoslanému potvrdeniu:

git reset --soft HEAD~1

Vymeňte --mäkké s --tvrdý ak ste už stlačili aktuálne potvrdenie:

git reset --hard HEAD~1

Choďte späť

Na rozdiel od resetovať príkaz, choď sa vrátiť zachováva integritu vašej histórie potvrdení. Je to praktické, ak chcete zmeniť potvrdenie kvôli chybám alebo chybám.

Neopúšťa cieľový záväzok ani nevytvára nový. Namiesto toho sa vráti k nedávnym zmenám, ktoré ste vykonali bez vymazania alebo premenovania takéhoto potvrdenia. Je to skvelý spôsob, ako udržať svoje záväzky čistejší, a navyše je bezpečnejší než neustále resetovanie.

Ak sa chcete vrátiť k potvrdeniu:

git revert HEAD~1

Kde HLAVA ~ 1 ukazuje na konkrétne potvrdenie vo vašom pracovnom strome.

Odstráňte sledovaný súbor alebo adresár

Môžeš použiť git rm -f na odstránenie všetkých sledovaných súborov vo vašom pracovnom strome. Všimnite si však, že Git nemôže odstrániť nesledované súbory, pretože ich neukladá do vyrovnávacej pamäte.

Ak chcete odstrániť postupný súbor:

git rm -f filename

Postup odstránenia postupného priečinka:

git rm -r -f foldername

Záznam Git

Ak chcete zobraziť svoje denníky a históriu potvrdení v Git:

git log

Ak chcete zaznamenať aktivity v konkrétnej pobočke:

git log branch_name

Súvisiace: Ako skontrolovať históriu projektu pomocou protokolu git

Niekedy sa možno budete chcieť vrátiť k opustenému potvrdeniu. Ak chcete zobraziť opustené záväzky vrátane príslušných:

git reflog

Ak chcete zobraziť denníky odkazov pre konkrétnu pobočku:

git reflog branch_name

Spravujte svoje verzie projektu ako profesionál pomocou Gitu

Vďaka tomu, že Git ponúka mnoho výhod, môžete správy svojich projektov spravovať na diaľku bez toho, aby ste museli vo svojej hlavnej pobočke blokovať súbory a priečinky. Navyše vám umožní ľahko realizovať projekty s tímom.

Ako ste videli, Git má mnoho funkcií, ktoré môžete preskúmať. Dávajte si však pozor na účelné používanie týchto funkcií. V opačnom prípade môžete skončiť s rozbíjaním vecí. To znamená, že stále môžete roztočiť demo vzdialené úložisko a hrať sa s týmito funkciami.

zdieľam zdieľam Tweet E -mail Spravujte verziu svojho súboru ako programátor pomocou Git

Programátori vytvorili systémy na správu verzií (VCS) na riešenie problémov s kontrolou verzií súborov. Pozrime sa na základy správy verzií pomocou špičkového systému dnes, Git.

Čítajte ďalej
Súvisiace témy
  • Programovanie
  • Vývoj webových aplikácií
  • GitHub
  • Návody na kódovanie
O autorovi Idisou Omisola(94 publikovaných článkov)

Idowu je zanietený pre čokoľvek, čo sa týka inteligentných technológií a produktivity. Vo svojom voľnom čase sa hrá s kódovaním a keď sa nudí, prejde na šachovnicu, ale tiež rád, keď sa raz za čas odtrhne od rutiny. Jeho vášeň ukazovať ľuďom cestu okolo moderných technológií ho motivuje písať viac.

Viac od Idowu Omisola

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné elektronické knihy a exkluzívne ponuky!

Kliknutím sem sa prihlásite na odber