7 tipů a triků pro GIT

19. 11. 2020

1. Nastavení informací uživatele

Pro nastavení uživatelských informací a nebo jejich změnu slouží příkaz “config” a pro globální nastavení použijte příkaz s parametrem “--global”.

$ git config --global user.name "John Doe"

$ git config --global user.email "john@doe.org"

2. Změna autora posledního commitu

Změnit autora posledního commitu se hodí pokud máte globálně nastavené uživatelské informace které nepoužíváte na serveru kam zrovna “pushujete” a proto se vám nemusí navázat profil uživatele na detail o commitu.

$ git commit --amend --author="John Doe <john@doe.org>"

3. Změna zprávy posledního commitu

Někdy si všimnete chyby v textu, ale už je příliš pozdě a nebo vás napadne daleko vystihující popis rozsáhlé změny?

# Provedeme změnu zprávy
$ git commit --amend -m "Oprava zprávy"

# Pushnutí změn
$ git push --all

4. Stažení změn i přes nesouvisející historii

Pokud budete chtít sloučit dva repositáře s odlišnou historie commitů tak nejspíš nastane problém “fatal: refusing to merge unrelated histories”. Pro ignorování ne-navazující historií můžete použít parametr “--allow-unrelated-histories”. Použijte tento parametr pouze pokud jste si jistý že revize zdrojového kódu jsou správné(!).

$ git pull origin master --allow-unrelated-histories

5. Změna adresy repositáře

Při přesunu, migraci a nebo změny názvu(včetně adresy) repositáře je nutné změnit adresu repositáře na všech stanicích pracující s původní adresou repositáře. Tuto změnu provedete následujícím příkazem:

# <repository-source> nahraďte za adresu repositáře
$ git remote set-url origin <repository-source>

6. Odstranění souboru z repositáře včetně historie

Pokud v repositáři zapomenete soubor například s přístupy při testování je potřeba tento soubor odebrat. Odebrání zvoleného souboru provedete následující sadou příkazů:

# <path_to_file> nahraďte za cestu k souboru
$ git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch <path_to_file>" HEAD

# Pushnutí změn
$ git push --all

7. Duplikace repositáře

# Parametr “--bare” vytvoří nový repositář k pushnutí
# <repository-source> nahraďte za adresu repositáře
git clone --bare <repository-source>

# Přepneme se do staženého repositáře
cd <clone-repository>

# Provedeme push duplikátu repositáře
git push --mirror <repository-source>

Nejnovější příspěvky