7 tipů a triků pro GIT
19. 11. 20201. 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>