Obsah

GIT

Na správu kódu v projektech používám GIT. Při používání jsme se setkal s následujícími potřebami:

Založení nového repozitáře

Nejprve vstoupím do složky, ze které chci vytvořit repozitář a její obsah verzovat a zálohovat. Pak spustím inicializaci, přidám všechny soubory a vytvořím první revizi.

git init
git submodule add https://github.com/mvillion/iiyama_x4071.git
git add *
git commit -a -m "Create repository."

Ukládání přihlašovacích údajů

Git umožňuje různé způsoby ukládání přihlašovacích údajů pro usnadnění přístupu k repozitářům. Níže jsou popsány dva hlavní způsoby:

Použití příkazu `git config credential.helper store`

Tento příkaz konfiguruje Git, aby uložil přihlašovací údaje v jednoduchém textovém souboru na lokálním disku. Soubor se standardně nachází v domovském adresáři uživatele, například `~/.git-credentials`.

git config --global credential.helper store

Po zadání příkazu Git při příštím připojení k repozitáři požádá o přihlašovací údaje (uživatelské jméno a heslo) a tyto údaje uloží. Při dalších přístupech Git přihlašovací údaje automaticky použije.

Poznámka: Tento způsob není příliš bezpečný, protože heslo je uloženo v prostém textu. Doporučuje se jej používat pouze v kontrolovaných prostředích, kde nehrozí riziko zneužití.

Použití souboru `.netrc`

Další způsob je konfigurace přihlašovacích údajů přes soubor `.netrc`, který se běžně používá pro různé nástroje využívající autentizaci.

Formát souboru `.netrc`:

machine <název_serveru>
login <uživatelské_jméno>
password <heslo>

Příklad:

machine github.com
login username
password password123

Tento soubor uložte do svého domovského adresáře (`~/.netrc`) a nastavte správná oprávnění:

chmod 600 ~/.netrc

Git automaticky použije přihlašovací údaje uložené v tomto souboru při komunikaci s odpovídajícími servery.

Výhody a nevýhody:


Oba tyto způsoby mohou usnadnit práci s Gitem, ale měly by být používány s ohledem na bezpečnostní aspekty daného prostředí.

Vložení existujícího repozitáře do současného projektu

git submodule add https://github.com/mvillion/iiyama_x4071.git
git add *
git commit -a -m "Updated repository."

Uploadnutí repozitáře skrz SSH na jiný server

Nejprve vytvořím na serveru prostor, kam bude můj repozitář zálohován. Bez tohoto kroku to nepůjde.

git init --bare Langino.git

Poté na svém počítači (ne na serveru) nastavím, kam se má git repozitář skrz SSH zálohovat.

git remote add slovni-nazev-serveru ssh://uzivatel@192.168.1.1:22/mnt/projects/Langino.git

A pro synchornizaci se serverem už jenom stačí zadávat tento příkaz. Cesta k serveru byla už nastavena v předchozím příkaze.

git push slovni-nazev-serveru master

Pro vypsání všech vzdálených cest.

git remote -v
git remote

Pro změnu již uložené SSH url:

git remote set-url slovni-nazev-serveru ssh://uzivatel@192.168.1.1:22/mnt/projects/Langino.git

Vracení změn

Toto vrátí soubory do posledního commitnutého stavu repozitáře. Všechny nové modifikace, které byly provedeny a nebyly commitnuty budou ztraceny. Ovšem zůstanou soubory a složky, které byly oproti původnímu commitnutí přidány.

git reset --hard HEAD

Smazání nově přidaných souborů a složek, které jsou untracked - tedy nejsou commitnuté udělá tento příkaz:

git clean -f -d 

zdroj: