GNU/Linux >> Znalost Linux >  >> Linux

40 Užitečné příkazy git pro správce a vývojáře Linuxu

Git je výkonný nástroj na sledování verzí, který umožňuje vývojářům sledovat změny ve zdrojovém kódu. Je to široce používaný nástroj vývojáři open source. Ačkoli byl Git navržen pro koordinaci programovacích úloh, dokáže efektivně sledovat jakoukoli sadu souborů. Navíc je vyvíjen Linusem Torvaldsem, člověkem, který stojí za samotným linuxovým jádrem. Takže pokud jste vývojář s otevřeným zdrojovým kódem a přidáváte do svého softwaru funkce v průběhu času nebo pracujete s více kolegy na vývoji špičkových podnikových produktů, Git může být pro vaši práci ideálním systémem sledování. Zůstaňte s námi a naučte se některé základní příkazy git, které výrazně zjednoduší vaše vývojové cykly.

Praktické příkazy git pro vývojáře s otevřeným zdrojovým kódem

git CLI nabízí značné množství příkazů git, které vývojářům usnadňují proces vývoje softwaru. Naši redaktoři nastínili některé z nejužitečnějších takových příkazů pro pohodlí našich čtenářů. Takže pokračujte ve čtení a objevujte je svým vlastním tempem.

1. Konfigurace uživatelského profilu

Svůj git profil můžete nakonfigurovat pomocí příkazu git config. To nejmenší, co můžete nastavit, je uživatelské jméno a e-mailová adresa. Git umožňuje uživatelům konfigurovat tyto zásady buď globálně, nebo na základě projektu. Pomocí níže uvedeného příkazu nastavte uživatele a e-mailovou adresu pro každé úložiště.

$ git config user.name "USERNAME"
$ git config user.email "[email protected]"

Přidejte –globální možnost nastavit tyto zásady globálně.

$ git config --global user.name "USERNAME"
$ git config --global user.email "[email protected]"

2. Inicializujte úložiště Git

Repozitář git nebo jednoduše repo je kořenový adresář vašich projektů s otevřeným zdrojovým kódem. Obsahuje mimo jiné zdrojové soubory, podadresáře pro objekty, hlavy a značky. Git repo můžete snadno inicializovat pomocí následujícího příkazu.

$ git init
--

Je to jeden z nejběžnějších příkazů git, které budete ve svém životě používat. Nyní můžete začít přidávat zdrojové soubory a pohrávat si s nimi, jak chcete.

3. Přidat soubory projektu

Přidávání souborů do existujících projektů je velmi snadné pomocí git. Všechny upravené soubory/adresáře můžete snadno přidat do systému sledování pomocí příkazu git add. Podívejte se rychle na níže uvedený příklad, abyste viděli, jak to funguje.

$ git add file
$ git add *.php

Když zadáte příkaz git add, přidá všechny soubory do indexu projektu z aktuálního pracovního adresáře. Můžete určit konkrétní soubory jako v prvním příkladu. Druhý příklad přidá všechny soubory PHP do indexu. Git je označí pro přípravu.

4. Ověřte přidané soubory

Soubory, které budou připraveny během příštího odevzdání, můžete ověřit pomocí příkazu git status. Zobrazí všechny nové soubory nebo soubory, které byly změněny.

$ git status

Spusťte výše uvedený příkaz, kdykoli chcete zobrazit podrobnosti. Zobrazí souhrnný seznam všech souborů, které budou zinscenovány v nadcházejícím odevzdání.

5. Potvrdit změny v úložišti

Když provedete změny, git udělá snímek vaší kódové základny. Takto git sleduje vaše změny a poskytuje správu verzí. K tomu budete muset použít příkaz git commit.

$ git commit

Když spustíte výše uvedený příkaz, git vás požádá o zadání některých informací, jako je přidání popisu. Vyvolá výchozí editor Linuxu, který jste nastavili během instalace git. Chcete-li se této nerozvážnosti vyhnout, použijte níže uvedený příkaz.

$ git commit -m "First Commit"

Takže můžete přidat popis přímo, pokud použijete -m možnost.

6. Zobrazit protokoly

Protokoly můžete zkontrolovat, kdykoli budete chtít vidět změny, které jste ve svém úložišti provedli. Jednoduše k tomu použijte příkaz git log z terminálu Linux.

$ git log
$ git log --file

První příklad ukáže zobecněné informace o vašich revizích git. Druhý příkaz použijte, pokud chcete zobrazit změny pouze v určitém souboru. Můžete také přidat mnoho dalších možností, jako je –log-size volba nebo dokonce hledání se zavazuje pomocí regulárních výrazů.

7. Ověřte pobočky projektu

Větev git představuje nezávislou linii vývoje ve vašem projektu. Svou aktuální větev můžete velmi snadno zkontrolovat pomocí příkazu git branch. Zobrazí aktuálně aktivní větev, ve které vyvíjíte nové funkce nebo upravujete ty starší.

$ git branch

Výstup označí aktuální větev pomocí znaku hvězdička (*).

8. Resetovat větve projektu

Aktuální úložiště a pracovní adresář můžete snadno resetovat do známého stavu. Příkaz git reset upraví odkaz HEAD na konkrétní odevzdání a podle toho aktualizuje index, aby odpovídal tomuto konkrétnímu odevzdání.

$ git reset

Pomocí následujícího příkazu proveďte měkký reset vaší aktuální větve.

$ git reset --soft

Podobným způsobem můžete také provést tvrdý reset. Jednoduše vyměňte –soft s –tvrdým možnost, jak ukazuje níže uvedený příklad.

$ git reset --hard

9. Přidat novou pobočku

Přidání nové větve vám umožní pracovat na novějších funkcích samostatně. Větev můžete snadno přidat pomocí příkazu git branch. Jednoduše přidejte název pobočky, jak je znázorněno níže.

$ git branch new-feature

Ověřte, zda bylo přidání úspěšné nebo ne, zadáním příkazu git branch. Měla by zobrazovat nově vytvořenou větev s názvem new-feature . Nemůžete však přidat více než jednu větev se stejným názvem větve. Způsobí to závažnou chybu.

10. Přepínání mezi větvemi

Mezi různými větvemi vašeho projektu můžete velmi snadno přepínat pomocí příkazu checkout. Je to jeden z nejpoužívanějších příkazů git, které budete používat při vývoji softwaru. Podívejte se rychle na další příklad, abyste viděli, jak to funguje.

$ git checkout new-feature

Tento příkaz vás upozorní, že větev byla úspěšně přepnuta. Můžete to také ověřit pomocí příkazu git branch uvedeného výše.

11. Odstranit větev projektu

Když jste úspěšně vyvinuli nové funkce, měli byste je přidat do větve git master. Jakmile to uděláte, můžete jít a tuto větev úplně odstranit. -D volba příkazu git nám to umožňuje velmi snadno.

$ git checkout master
$ git branch -D new-feature

Chcete-li větev úspěšně smazat, musíte se nejprve dostat ven. Jinak git vyvolá chybu.

12. Zkontrolujte rozdíly mezi závazky, stromy a soubory

Příkaz git diff nám umožňuje zobrazit změny ve dvou více souborech, pracovním stromu a indexovém stromu, mezi potvrzeními a mezi objekty blob. Je to jeden z nejzákladnějších příkazů git používaných pro sledování změn v kódových bázích.

$ git diff
$ git diff new-feature master

První příklad zobrazí změny mezi pracovním stromem a stromem indexu. Druhý příklad zobrazí změny mezi hlavní větví a větví nových funkcí.

13. Sloučit dvě větve

Dvě různé vývojové větve můžete snadno sloučit pomocí příkazu git merge. Spojí dvě větve do jedné sjednocené větve. Příkaz git merge můžete použít k několika účelům. Podívejte se na níže uvedený příklad, abyste viděli, jak je můžeme použít.

$ git merge fixes new-feature
$ git merge -s ours obsolete
$ git merge --no-commit main

První příklad sloučí dvě větve nové funkce a opravy, aby vytvořily jednu větev. Druhý příklad sloučí větev obsol] do aktuální vývojové větve pomocí naše strategie. Poslední příklad sloučí větev main do aktuální větve, ale deaktivuje automatické potvrzení.

14. Vrátit existující závazky

Někdy se můžete rozhodnout, že některé z vašich odevzdání již nejsou vyžadovány. V takových případech je lepší tyto commity vrátit zpět, než úplně upravovat větev. Příkaz git revert nám přesně toto umožňuje.

$ git revert ad9ef37d88ad4gfyg90aa6a23f71e775982f4b
$ git revert HEAD~3

První příklad vrátí změny zavedené ID potvrzení f5ad9ef37d88ad4gfyg90aa6a23f71e775982f4b . Druhý příklad recidivuje čtvrté poslední potvrzení v HEAD a provede nové potvrzení.

15. Stash Working Directory

Aktuální stav svého pracovního adresáře si můžete dočasně uložit na nějaké místo a vrátit se k němu později, když budete chtít. To se v terminologii git nazývá stashing. Jednoduše ukládá stav vašeho pracovního adresáře a index, abyste mohli pracovat na něčem novém.

$ git stash

Vývojáři obvykle používají tento příkaz, když se ocitnou v zapeklité situaci. Umožňuje jim uložit neuspořádaný pracovní postup a vrátit se k jeho vyřešení později. Použijte příkaz stash list k zobrazení seznamu skrýší.

$ git stash list

16. Klonovat úložiště

Jednou z nejlepších věcí na open source je, že můžete pracovat na kódu jiných lidí, jako by to byl váš vlastní. Git usnadňuje stažení existujícího projektu pomocí příkazu git clone. Podívejte se na níže uvedený obrázek, abyste viděli, jak to funguje v reálném životě.

$ git clone <GIT:URL>
$ git clone git://example.com/git.git/ test-dir

Tím se uvedený projekt stáhne do test-dir adresář vašeho systému.

17. Vytáhněte nové aktualizace

Reálné projekty se neustále vyvíjejí. Předpokládejme, že jste dříve naklonovali repo ze vzdáleného úložiště. Co uděláte, když vývojáři aktualizují nové funkce do tohoto úložiště? Je nepohodlné klonovat stejné repo znovu a znovu do místního počítače. Toho vás zachrání příkaz git pull.

$ git pull

Tento příkaz aktualizuje místní verzi vašeho projektu o všechny nové změny provedené spolupracovníky. Před stažením nejnovějších aktualizací nezapomeňte změnit svůj pracovní adresář na adresář projektu.

18. Push Your Updates

Jakmile dokončíte práci s aktualizacemi, můžete je přidat do vzdáleného úložiště stisknutím tlačítka . Rozdíl mezi git push a git commit spočívá v tom, že když provedete nějaké změny, budou přidány do vašeho lokálního repo, nikoli do vzdáleného repo.

$ git push

Tento příkaz přidá vaše aktualizace do vzdáleného úložiště projektu. Ke spolupráci se vzdálenými vývojáři obvykle použijete pull a push. Je tedy důležité, abyste je dokonale ovládali.

19. Zobrazit vzdálená úložiště

Příkaz git remote nám umožňuje pohodlně spravovat sadu sledovaných úložišť z terminálu Linux. Můžete jej použít pro klonování pouze některých vybraných větví.

$ git remote
$ git remote --verbose

První příklad zobrazí všechna vzdálená úložiště, která jsou aktuálně nakonfigurována. Přidání –verbose flag nám o tom ukazuje podrobné informace.

20. Připojte se ke vzdáleným úložištím

Vzdálená úložiště můžete nastavit tak, aby bylo vaše místní úložiště připojeno ke vzdálenému serveru. Tímto způsobem budete moci přenést své místní změny přímo na vzdálený server. Rychle se podívejte na následující ilustraci, abyste viděli, jak to funguje v praxi.

$ git remote add origin <server>

Výše uvedený příkaz přidá „origin“ jako vzdálené jméno serveru. Adresu URL serveru můžete zjistit prozkoumáním Zdroje podkarta vašeho úložiště GitHub.

21. Přidejte štítky do svého projektu

Tagy vám umožňují označit významné události ve vašich open source projektech. Vývojáři je často používají k označení nových relapsů nebo oprav chyb. Podívejte se pozorně na níže uvedené příkazy git a zjistěte, jak přidávat značky do svých projektů pomocí git.

$ git tag 1.0.0 <commit-id>

Tento příkaz přidá značku 1.0.0 do konkrétního potvrzení. ID potvrzení můžete získat pomocí níže uvedeného příkazu.

$ git log

Pomocí následujícího příkazu odešlete značku do vzdáleného úložiště.

$ git push origin --tags

Musíte zadat –tagy možnost výslovně. Jinak bude značka přidána pouze do vašeho místního úložiště, nikoli do vzdáleného úložiště.

22. Načíst vzdálená data

Dalším běžným příkazem git, který budete často používat, je fetch. Je to velmi užitečné z mnoha důvodů. Za prvé, načtení pouze načte nová data/reference, ale nesloučí je do vaší místní pobočky. Můžete si tedy být jisti, že pracovní kopie vašeho místního úložiště zůstane v bezpečí a v pořádku.

$ git fetch origin

Je to vynikající způsob, jak zkontrolovat nedávný pokrok vzdálené kódové základny, aniž by došlo k porušení vaší vlastní verze projektu. Jakmile si budete jisti, že všechna nová data jsou v pořádku, jednoduše je sloučte do svých místních poboček.

23. Obnovit neprovedené změny

Příkaz git restore umožňuje vývojářům obnovit jakékoli neprovedené změny v jejich projektech. Toto jsou změny, které jste provedli ve své pracovní verzi projektu nebo obsahu v místním indexu. Tento příkaz můžete použít buď k vrácení změn ve vaší pracovní kopii nebo změn v indexu, nebo k provedení obojího.

$ git restore --staged test.php
$ git restore --source=HEAD --staged --worktree test.php

První příkaz obnoví soubor test.php v indexu a druhý příkaz obnoví index i aktuální pracovní adresář vašeho projektu.

24. Odebrat soubory

Někdy můžete chtít odstranit některé soubory z vašeho pracovního stromu nebo indexu projektu úplně. K tomu můžete použít příkaz git rm. Tento příkaz však neodstraní zadané soubory z vašeho pracovního adresáře. Použijte k tomu příkaz Linux rm.

$ git rm *.php
$ git rm -r dir/
$ git rm --cached *.php

První příkaz odstraní všechny soubory PHP z pracovního stromu a indexu. Druhý příkaz odstraní vše z adresáře dir/. Poslední příkaz odstraní všechny soubory PHP pouze z indexu, nikoli z pracovního stromu.

25. Přesunout nebo přejmenovat soubory

Soubory můžete přesouvat nebo přejmenovávat pomocí git, stejně jako byste to dělali pomocí příkazu Linux mv. Je to vlastně zkratka pro zaneprázdněné vývojáře zabudované přímo do git.

$ git mv test.py new-test.py

Výše uvedený příkaz jednoduše provede následující operace Linuxu.

$ mv test.py new-test.py
$ git add new-test.py
$ rm test.py

Takže můžete použít příkaz git mv, abyste se zachránili před psaním hromady dalších příkazů linuxového terminálu.

26. Vyčistit nesledované soubory

Nesledované soubory jsou soubory, které nejsou pod systémem správy verzí git. Na takové soubory narazíte poměrně často při práci na rozsáhlých projektech. Můžete je odstranit několika způsoby, včetně git reset a git checkout. Nejvhodnějším způsobem je však použití příkazu git clean.

$ git clean
fatal: clean.requireForce defaults to true and neither -i, -n, nor -f given; refusing to clean

Výše uvedený příkaz selhal, protože takto je v mém systému nakonfigurován git. Tento problém můžete obejít přidáním -n , -i nebo -f možnost.

$ git clean -n

27. Optimalizujte místní úložiště

Jeden z mých nejoblíbenějších příkazů git je gc. Používá se pro sběr odpadu a pomůže vám snížit velikost vašich místních repozitářů. Tento příkaz byste měli používat často, pokud pracujete na rozsáhlých projektech.

$ git gc

Příkaz git gc běží extrémně rychle a vyčistí všechny nepotřebné soubory ležící kolem vašeho místního úložiště. Je to jedna z nejlepších optimalizačních metod díky své rychlosti a účinnosti. Můžete také použít –agresivní možnost zvýšit optimalizaci. Jeho dokončení však bude vyžadovat více času.

28. Archivovat místní úložiště

Místní úložiště můžete snadno archivovat pomocí příkazu git archive. Umožňuje vývojářům uložit svůj projekt na bezpečném místě. Tento archiv můžete přenést po síti nebo jej můžete uložit v systému souborů Linux.

$ git archive --output=test --format=tar master

Výše uvedený příkaz uloží repo do souboru tar s názvem test. – formát můžete vynechat možnost, pokud chcete. V tomto případě se git pokusí odvodit formát archivu ze svého názvu. Pro tento příkaz je k dispozici mnoho dalších možností.

29. Vyhledejte vzory

Při práci na velkých projektech budete často muset hledat různé věci. Naštěstí nám příkaz git grep umožňuje vyhledávat konkrétní vzory v našich repozitářích a výrazně usnadňuje vývoj. Funguje velmi podobně jako standardní linuxové příkazy grep, s několika funkcemi specifickými pro git.

$ git grep -iw 'import' master

Tento příkaz zobrazí všechny řádky obsahující ‚import‘ v naší hlavní větvi. Vyhledává bez ohledu na velikost písmen. Následující příkaz vyhledá daný vzor ve všech potvrzeních a větvích.

$ git grep 'import' $(git rev-list --all)

Toto je jeden z nejlepších příkazů git, které si osvojíte, pokud spolupracujete na rozsáhlých projektech.

30. Správa pracovních stromů

Vývojáři mohou v Gitu pracovat s více pracovními stromy. To je užitečné při kontrole více než jedné větve vašeho projektu. Podívejte se na následující příkazy git, abyste viděli, jak spravovat fungující stromy v git.

$ git worktree list
$ git worktree add new-branch
$ git worktree remove new-branch
$ git worktree prune

Pomocí prvního příkazu můžete zobrazit aktuální pracovní stromy. Pomocí druhého příkazu přidejte nový „propojený pracovní strom“ a třetím příkazem tento strom odeberte. Poslední příkaz vám umožní ořezat informace o pracovním stromu.

31. Prořezávat nesledované objekty

Někdy možná budete chtít odstranit objekty, které již git nesleduje. Git k tomu poskytuje jednoduchý příkaz. Příkaz git prune odstraní pouze nesledované objekty z databáze objektů, nikoli samotné odkazy.

$ git prune --dry-run
$ git prune --verbose --progress

První příkaz nic nesmaže a zobrazí pouze objekty, které by prořezávání odstranilo. Druhý příkaz poskytuje podrobný výstup a také zprávu o průběhu během období mazání. K optimalizaci repozitářů můžete použít příkazy prune spolu s příkazem git gc.

32. Zabalte rozbalené objekty

V Gitu jsou balíčky kolekcí individuálně komprimovaných objektů. Git na tyto objekty aplikuje delta kompresi a uloží je do jednoho souboru. Používají se ke snížení zatížení vašeho souborového systému Linux nebo zrcadlových systémů. Příkaz git repack umožňuje uživatelům vytvářet nové balíčky sestávající z objektů, které nejsou umístěny ve stávajících balíčcích.

$ git repack

Tento příkaz můžete použít spolu s gic gc a git prune pro optimalizaci vašeho úložiště git.

33. Seznam rozbalených objektů

Své objekty byste neměli přebalovat příliš často, pokud jich není příliš mnoho. Příkaz git count-objects je jednoduchý, ale užitečný způsob zobrazení počtu rozbalených objektů a toho, kolik místa na disku zabírají.

$ git count-objects

Pomocí výše uvedeného příkazu určete, zda je čas na přebalení git nebo ne. Můžete přidat – podrobné příznak pro získání podrobných informací a –čitelný pro člověka příznak pro zobrazení velikosti běžným způsobem.

34. Ověřte databázi objektů

Git byl ve svých počátcích vyvinut jako souborový systém. Má užitečný příkaz nazvaný fsck, který funguje velmi podobně jako unixový fsck. Tento příkaz můžete použít k ověření konektivity a kontrole integrity vašich objektů.

$ git fsck

Spuštěním výše uvedeného příkazu se zobrazí všechny poškozené objekty nalezené ve vaší databázi objektů. Je to jeden z nejužitečnějších příkazů git pro hledání chybějících nebo špatných objektů.

35. Zobrazit změny pro každý závazek

Příkaz git whatchanged je dalším z našich oblíbených dílčích příkazů git. Je to jednoduchý, ale účinný způsob, jak zobrazit změny, které každý jednotlivý git commit přináší do našeho projektu.

$ git whatchanged

Tento příkaz git zobrazí informace pomocí protokolů odevzdání a výstupu diff. Celkově je v provozu docela podobný příkazu git log.

36. Shrnout informace protokolu

Pro zobrazení historie můžete také použít příkaz git shortlog. Hlavní myšlenkou tohoto příkazu je zahrnout výstup do oznámení o vydání. Podívejte se rychle na následující příkaz, abyste viděli, jak to funguje.

$ git shortlog
$ git shortlog --email --summary

Přidání –e-mailu zobrazí e-maily každého autora. –shrnutí volba potlačí obvyklý výstup a zobrazí pouze počet potvrzení.

37. Spravovat možnosti konfigurace

Git má k dispozici obrovské množství konfiguračních možností. Příkaz git config můžete použít k dotazování, nastavení nebo nahrazení různých voleb. Změny lze provádět jak v konkrétních repozitářích, tak v globální konfiguraci.

$ git config --list

Výše uvedený příkaz vypíše všechny aktuálně nastavené možnosti konfigurace v git. Můžete snadno přidat nebo odebrat nové možnosti. Postupujte podle stránky nápovědy dílčího příkazu config a zjistěte, jak tyto úlohy provádět.

$ git config --help

38. Nahlédněte do nápovědy Git

Stránka nápovědy git nebo jiných příkazů terminálu Linux poskytuje souhrnné informace o všech dostupných možnostech. Mělo by to být první místo, které navštívíte, když narazíte na potíže s git. Podívejte se rychle na následující příkazy, abyste zjistili, jak vyvolat stránku nápovědy git.

$ git help
$ git --help

Můžete se tedy podívat na stránku nápovědy git pomocí –help ve stylu Unixu volba nebo dílčí příkaz help zabudovaný do git. Kromě toho git také poskytuje stránky nápovědy pro dílčí příkazy.

$ git <command> --help
$ git commit --help

39. Nahlédněte do manuálové stránky

Man stránka obsahuje podrobné informace o systému správy verzí git a všech jeho dílčích příkazech. Můžete je zobrazit podle níže uvedené syntaxe.

$ man git
$ man git commit

Můžete si tedy také prohlížet manuály pro jednotlivé dílčí příkazy jako na stránce nápovědy.

40. Zobrazit informace o verzi

Následující jednoduchý příkaz můžete použít k zobrazení verze git nainstalované ve vašem systému. Vzhledem k tomu, že se git v průběhu času do značné míry vyvíjel, existují mezi různými verzemi git značné rozdíly.

$ git --version

Jednoduše použijte výše uvedený příkaz k získání konkrétní verze git dostupné na vašem počítači.

Konec myšlenek

Git si upevnil svou pozici de facto systému pro správu verzí díky praktickému designu a rozmanité sadě funkcí. Ačkoli existují některé skvělé alternativy, jako je Mercurial a CVS, velké množství praktických příkazů git jej činí všestrannějším než jeho konkurenti. Naši redaktoři zašli do extrémních délek, aby vám nastínili ty nejpraktičtější příkazy. Doufejme, že jste z tohoto průvodce získali základní poznatky, které jste hledali. Neváhejte se nás na něco zeptat, pokud máte pochybnosti o konkrétním příkazu. Děkujeme, že jste s námi zůstali po celou dobu tohoto dlouhého průvodce.


Linux
  1. 16 příkazů Tar pro kompresi a extrahování souborů v Linuxu

  2. 3 Užitečné Linuxové příkazy pro systémové administrátory

  3. Použijte Najít a najít k vyhledání souborů v Linuxu

  1. Linux pro začátečníky:10 dalších příkazů pro manipulaci se soubory

  2. Příkazy hledání pro Linux

  3. 11 Užitečné příkazy „ssh“ a „scp“ v Linuxu

  1. 4 užitečné tipy pro příkazy mkdir, tar a kill v Linuxu

  2. 5 užitečných příkazů pro správu typů souborů a systémového času v Linuxu – část 3

  3. SemiCode OS:Linuxová distribuce pro programátory a webové vývojáře