GNU/Linux >> Znalost Linux >  >> Ubuntu

Git Fetch:Definice a příklady

Úvod

git fetch příkaz stáhne objekty na místní počítač, aniž by přepsal existující místní kód v aktuální větvi. Příkaz vyvolá záznam změn vzdáleného úložiště, což umožňuje nahlédnout do historie průběhu před úpravami.

Čtěte dále a zjistěte, jak používat git fetch příkazy pomocí praktických příkladů.

Předpoklady

  • Git nainstalován, aktualizován a nakonfigurován.
  • Přístup k příkazovému řádku/terminálu.
  • Odkaz na vzdálené úložiště nebo konfigurovaný vzdálený Git.

Co je git fetch?

git fetch příkaz načte potvrzení, soubory, větve a značky ze vzdáleného úložiště. Obecná syntaxe příkazu je:

git fetch <options> <remote name> <branch name>

Git izoluje načtený obsah z místního kódu. Načtení proto poskytuje bezpečný způsob, jak zkontrolovat informace před odesláním vaší místní pobočce.

Jak funguje příkaz git fetch?

git fetch příkaz získá všechny změny ze vzdáleného úložiště. Načtená metadata jsou uložena v souboru .git adresář, zatímco pracovní adresář zůstane nezměněn.

Účinně git fetch načte metadata bez použití změn lokálně. Příkaz git pull kombinuje git fetch a git sloučit funkce do jedné.

Vzhledem k tomu, že stav pracovního adresáře zůstává nedotčen, musí být načtený obsah vyzvednut pomocí příkazu git checkout nebo sloučen pomocí git merge.

Protože však spojování obsahu je ruční proces, git fetch umožňuje kontrolu kódu před změnou čehokoli. Proces kontroly pomáhá vyhnout se konfliktům při sloučení.

Možnosti načítání Git

Níže je seznam s běžně používanými možnostmi při práci s git fetch :

  • --all - Získejte všechna dálková ovládání.
  • --append (-a ) – Připojí se k existujícímu načtenému obsahu bez přepsání.
  • --depth=<depth> - Omezte na konkrétní počet potvrzení počínaje špičkou historie každé vzdálené větve.
  • --deepen=<depth> - Omezení na konkrétní počet potvrzení počínaje aktuální hranicí historie každé vzdálené větve až po tip.
  • --shallow-since=<date> - Zahrnout všechna dosažitelná potvrzení po zadaném datu.
  • --shallow-exclude=<revision> - Vyloučí potvrzení ze zadané vzdálené větve nebo značky. Chcete-li zadat více vyloučení, použijte tuto možnost vícekrát.
  • --dry-run - Možnost přidaná k libovolnému příkazu ukazuje, co se stane bez spuštění příkazu jako ukázky.
  • --multiple - Umožňuje více <repository or group> argumenty.
  • --no-tags – Zakázat automatické sledování značek.
  • --tags - Získejte všechny štítky z dálkového ovladače.
  • --set-upstream – Přidejte sledování proti proudu.

Chcete-li zobrazit všechny dostupné možnosti, spusťte v terminálu následující příkaz:

git fetch --help

Příkaz zobrazí úplnou stránku nápovědy s podrobným popisem všech dostupných možností.

Načíst úložiště Git

Příklady vyžadují přidané vzdálené úložiště. Pokud již máte nastaveno dálkové ovládání, přejděte k další části. Jinak přidejte dálkový ovladač Git podle následujících kroků:

1. Otevřete terminál a vytvořte adresář pro projekt:

mkdir <directory name>

2. Zadejte adresář pomocí cd příkaz:

cd <directory name>

3. Inicializujte místní úložiště pomocí:

git init

4. Pomocí následujícího příkazu přidejte vzdálenou adresu URL do místního úložiště:

git remote add <short remote name> <remote URL>

Například:

git remote add origin [email protected]:phoenixNAP-KB/test.git

5. Potvrďte úspěšné přidání dálkového ovladače:

git remote -v

Postupujte podle příkladů v sekcích níže, abyste viděli, jak git fetch příkaz funguje pro různé případy použití.

Načíst vzdálené úložiště

Nejjednodušší způsob použití git fetch příkaz je načíst vzdálené úložiště:

git fetch <remote name>

Například:

git fetch origin

Výstup zobrazuje příkaz načtený veškerý obsah ze vzdáleného úložiště, včetně větví a značek.

Seznam všech načtených vzdálených větví pomocí:

git branch -r

Chcete-li zobrazit seznam všech načtených značek, spusťte:

git tag

Pomocí příkazu git checkout zpřístupněte obsah lokálně nové větvi nebo použijte git merge k synchronizaci informací o místním úložišti.

Načíst konkrétní větev

Chcete-li načíst konkrétní větev z úložiště, spusťte tento příkaz:

git fetch <remote name> <branch name>

Chcete-li například načíst větev s názvem test z původu , spustit:

git fetch origin test

Příkaz načte pouze obsah pro konkrétní větev. Chcete-li získat načtený obsah do nové větve, spusťte:

git checkout -b test_branch origin/test

Obsah je nyní místně dostupný ve větvi test_branch .

Načtěte všechny větve ze všech ovladačů

V případech, kdy existuje více dálkových ovladačů, git fetch nabízí příkaz k načtení informací ze všech dálkových ovladačů.

Chcete-li zobrazit všechna dálková ovládání, spusťte:

git remote

Získejte veškerý obsah ze všech dálkových ovladačů pomocí:

git fetch --all

Výstup zobrazuje proces načítání ze všech vzdálených úložišť.

Synchronizujte místní úložiště

Použijte git fetch příkaz s git merge k synchronizaci místního úložiště. Chcete-li vidět, jak příklad funguje, postupujte podle následujících kroků:

1. Získejte vzdálené úložiště pomocí:

git fetch <remote name>

2. Porovnejte místní větev se vzdálenou tím, že vypíšete rozdíly v potvrzení:

git log --oneline <local branch>..<remote name>/<remote branch name>

Pokud je například místní pobočka test_branch a dálkový ovladač je v původu/testu , následující příkaz uvádí rozdíly:

git log --oneline test_branch..origin/test

Výstup obsahuje seznam odevzdání a souvisejících zpráv.

3. Zkontrolujte místní pobočku, do které chcete sloučit změny:

git checkout <local branch>

Například:

git checkout test_branch

4. Synchronizujte místní větev pomocí příkazu git merge:

git merge origin/main

Obsah je nyní aktuální díky vzdálenému úložišti. Pokud se zobrazí varování před konfliktem, postupujte podle našeho návodu k vyřešení problémů se sloučením:Jak vyřešit konflikty sloučení v Gitu.

git fetch vs. git pull

Níže uvedená tabulka popisuje, jak git fetch a porovnejte příkazy git pull.

git fetch git pull
Stáhne nové informace ze vzdáleného úložiště bez sloučení s aktuální větví. Stáhne všechny změny ze vzdáleného úložiště a sloučí je do aktuální větve.
Aktualizuje data úložiště v souboru .git adresář. Přímo aktualizuje místní úložiště.
Umožňuje kontrolu odevzdání a změn od jiných vývojářů před odevzdáním kódu. Umožňuje okamžité přenesení a aktualizaci změn do místního úložiště.
Žádná možnost konfliktů při sloučení při spuštění příkazu. Možné konflikty při sloučení, které vyžadují okamžité řešení.

Ze dvou příkazů git fetch je bezpečnější možnost při načítání změn kódu ze vzdáleného úložiště.


Ubuntu
  1. Příkaz SCP v Linuxu:Jak jej používat, s příklady

  2. Git Remote Add s jiným portem SSH (ne 22)

  3. Jak přejmenovat místní a vzdálenou pobočku Git

  1. Jak přejmenovat místní a vzdálenou větev Git

  2. Jak odebrat Git Remote z úložiště

  3. Zkontrolujte, zda je místní git repo před/za vzdáleným

  1. Jak aktualizovat Git

  2. Co je Git?

  3. Co je úložiště Git?