GNU/Linux >> Znalost Linux >  >> Linux

Pokročilý výukový program Git

Tento článek navazuje na můj stávající článek Začínáme s GIT v systému Linux. Pokud jste v Gitu noví, doporučil bych vám nejprve projít můj předchozí článek a poté pokračovat tímto.

V tomto článku se budeme zabývat vytvořením větve, tagem, přejmenováním větve a vrácením odevzdání na Git.

  1. Pobočka :Větvení pomáhá vytvořit novou linii vývoje, aby se předešlo jakémukoli nepořádku na hlavní větvi.
  2. Značka :Značka v Gitu je odkazem na historii Git.
  3. Přejmenovat pobočku : Přejmenování pobočky znamená změnu názvu stávající pobočky a umístění našeho stávajícího kódu na pobočku s novým názvem.
  4. Vrátit potvrzení : Vrácení pomáhá vrátit zpět změny v místním a vzdáleném úložišti.

Předpoklady

  1. Základní znalost Gitu (Kliknutím sem se dozvíte základy Gitu.)

Co budeme dělat?

  1. Vytvořte větev.
  2. Sloučit větev s hlavní větví.
  3. Vytvořte značku.
  4. Přejmenujte větev.
  5. Vrátit potvrzení.

Vytvořte větev

Přejděte do místního úložiště a před vytvořením nové pobočky zkontrolujte svou pobočku a její stav pomocí následujících příkazů. Zde je test-repo název mého úložiště.

pwd
git status
git log
git branch

Vytvořte novou pobočku ve svém stávajícím úložišti a odhlaste se v něm.

git branch
git branch my-feature-branch
git branch
git checkout my-feature-branch
git branch

Vytvořme nový soubor a pošleme jej do větve, kterou jsme vytvořili.

ll
touch new-file-in-my-feature-branch
git status
git add new-file-in-my-feature-branch
git commit -m "created a new file in my-feature-branch"
git push
git push --set-upstream origin my-feature-branch

Sloučit větev do hlavní větve

Pokud chceme, aby byly naše změny v nové větvi sloučeny do hlavní větve, můžeme pomocí následujících příkazů sloučit tyto změny do větve, kterou chceme. Nejprve musíme provést pokladnu v hlavní větvi a poté sloučit větev, kterou jsme vytvořili.

ll
git branch
git checkout main
ll
git merge my-feature-branch
ll

Vytvořte značku

Vytvoření tagu je stejně jednoduché jako vytvoření větve. Nejprve proveďte nějaké změny v úložišti a poté vytvořte značku. Než je pošleme do vzdáleného úložiště, musíme ještě potvrdit změny.

git tag
ll
touch new-file-for-tag
git status
git add new-file-for-tag
git tag -a mytag.v1 -m
git tag -a mytag.v1 -m "create a tag"
git tag
git log
git status
git commit -m "create a tag mytag.v1"
git push

Můžeme zkontrolovat, jaké všechny značky máme, a zavázat se k těmto značkám. Způsob, jakým tlačíme naši větev, můžeme vkládat i značky.

git tag
git show mytag.v1
git push origin mytag.v1

Tak, jak provádíme pokladnu na pobočce, můžeme provádět pokladnu i na konkrétní značku.

git branch
git tag
git checkout mytag.v1
git branch

Než budeme pokračovat dále, pojďme se podívat na hlavní větev.

git branch
git checkout main
git branch

Přejmenování pobočky

Někdy se vám může zdát, že potřebujete svou pobočku přejmenovat. Můžete to udělat velmi snadno pomocí následujících příkazů.

git branch
git branch wrong-brach
git checkout wrong-brach
touch file-in-wrong-branch
git add file-in-wrong-branch
git commit -m "Created a branch wrong-brach with a new file"
git push
git push --set-upstream origin wrong-brach
git branch
git branch --move wrong-brach correct-branch
git branch
push --set-upstream origin correct-branch

Můžete dokonce odstranit větev ze vzdáleného úložiště.

git branch
git branch -a
git push origin --delete  wrong-brach
git branch -a

Vrátit potvrzení

V případě, že chcete vrátit svůj odevzdání a přesto zachovat své změny lokálně, můžete pomocí následujících příkazů provést měkký reset.

git branch
git checkout main
git log
git reset --soft HEAD~1
git log

Můžete vidět, že po vrácení odevzdání jsou vaše místní změny stále dostupné.

git status
git pull
git log
git status

Pokud chcete vrátit své potvrzení a nechcete uložit své změny lokálně, můžete použít následující příkazy a provést tvrdý reset

git log
git reset --hard HEAD~1
git status
git log

V tomto případě můžete vidět, že po vrácení vašeho odevzdání nemáte změny lokálně

git status
git pull
git log

Ve dvou výše uvedených scénářích jsme viděli vrácení místních potvrzení. Někdy možná budete muset vrátit své závazky ze vzdáleného úložiště. Chcete-li to provést, musíte změny odeslat do větve s příponou „+“ k názvu větve poté, co provedete místní změny.

git branch
git log
git reset --hard HEAD~1
git push +main
git push origin  +main

Můžete vidět, že vzdálené úložiště neobsahuje závazek, který byl vrácen.

Závěr

V tomto článku jsme se zabývali scénáři, jako je vytvoření větve a značky. Viděli jsme, jak lze větev přejmenovat, pokud si uvědomíme, že potřebujeme změnit název stávající větve. Viděli jsme také, že závazky v místním úložišti i ve vzdáleném úložišti lze vrátit. Nyní můžete používat příkazy z tohoto článku a vyzkoušet si je na vlastní kůži.


Linux
  1. 6 pokročilých možností formátování tcpdump

  2. Jak vytvořit Git Tagy

  3. Přidání Git repo a větvení do stavového řádku Tmux

  1. Automatické dokončování Git?

  2. Jak předat výstup jednoho příkazu jako argument druhému?

  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. Co je Git Upstream a jak nastavit Upstream Branch

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