Git: Repository
Z MiS
				
				
				(Rozdíly mezi verzemi)
				
																
				
				
								
				|  (→Vytvoření lokální kopie repozitáře:  Přidána možnost použít git init a používat git pouze lokálně.) | m (→Změna způsobu přihlašování k repozitáři z HTTPS na SSH:  Doplněno, že se musí přesunout do složky s repozitářem.) | ||
| (Nejsou zobrazeny 4 mezilehlé verze od 1 uživatele.) | |||
| Řádka 4: | Řádka 4: | ||
| * Git je jedním z nejoblíbenějších verzovacích systémů současnosti. | * Git je jedním z nejoblíbenějších verzovacích systémů současnosti. | ||
| * Více o Gitu se dozvíte na stránce [[Git]]. | * Více o Gitu se dozvíte na stránce [[Git]]. | ||
| − | * Zde se budeme zabývat prací se vzdáleným repozitářem. | + | * Zde se budeme zabývat prací se vzdáleným repozitářem (zejména na serveru [https://www.github.com Github.com]). | 
| Řádka 11: | Řádka 11: | ||
| * Váš Git umí stáhnout z GitHubu aktuální verzi a posléze nahrát zpět provedené změny. | * Váš Git umí stáhnout z GitHubu aktuální verzi a posléze nahrát zpět provedené změny. | ||
| * Obdobných serverů existuje více, GitHub patří k nejznámnějším. | * Obdobných serverů existuje více, GitHub patří k nejznámnějším. | ||
| + | |||
| + | |||
| + | == Nastavení SSH klíče == | ||
| + | * Doporučeným způsobem ověřování identity je dnes SSH klíč. | ||
| + | * K vygenerování klíče použijte ''Git Bash'', který se nainstaloval při instalaci Gitu na váš počítač. | ||
| + | ; Generování klíče: | ||
| + | * Po spuštění ''Git Bash'' zadejte: | ||
| + |  ssh-keygen -t rsa | ||
| + | * Pokud zadáte heslo k použití soukromého klíče, pak budete vždy při připojení vyzvání k zadání hesla. | ||
| + | * Pro začátečníky doporučujeme heslo nezadávat, ale klíč důsledně hlídat. | ||
| + | ; Nahrátí klíče na server: | ||
| + | * Klíče se standardně vytvoří ve vaší domovské složce v podsložce <code>.ssh</code>.  | ||
| + | ** Ve Windows to bude: <code>C:\Users\''username''\.ssh</code> | ||
| + | ** V GNU/Linuxu to bude: <code>/home/''username''/.ssh</code> | ||
| + | # Na GitHubu zvolte ve svém účtu: ''Settings → SSH and GPG keys'' | ||
| + | # Pojmenujte klíč (například názvem počítače) a vložte obsah souboru <code>.ssh/id_rsa.pub</code> do textového pole. | ||
| + | # Potvrďte ''Add SSH key''. | ||
| + | * Nyní se můžete k repozitáři připojit z tohoto počítače pomocí SSH klíče. | ||
| Řádka 34: | Řádka 52: | ||
|   cd c:\users\student\Documents\develop |   cd c:\users\student\Documents\develop | ||
| * Vytvořte lokální kopii vzdáleného repozitáře: | * Vytvořte lokální kopii vzdáleného repozitáře: | ||
| − |   git clone '' | + |   git clone ''git@github.com:''username''/''repository-name'' | 
| * Vznikne tak složka: | * Vznikne tak složka: | ||
|   cd c:\users\student\Dokumenty\develop\repository-name |   cd c:\users\student\Dokumenty\develop\repository-name | ||
| Řádka 45: | Řádka 63: | ||
|   git branch |   git branch | ||
| * Nastavte si výchozí repozitář pro nahrávání tak, abyste mohli posléze psát pouze <code>git push</code> a nemuseli uvádět cílový repozitář: | * Nastavte si výchozí repozitář pro nahrávání tak, abyste mohli posléze psát pouze <code>git push</code> a nemuseli uvádět cílový repozitář: | ||
| − |   git push --set-upstream '' | + |   git push --set-upstream ''git@github.com:''username''/''repository-name'' main | 
| --> | --> | ||
| Řádka 53: | Řádka 71: | ||
|   git init |   git init | ||
| * Potom bychom nepotřebovali <code>git clone</code>. | * Potom bychom nepotřebovali <code>git clone</code>. | ||
| − | * Pokud ale chcete pracovat se vzdáleným serverem, je jednodušší začít vytvořením repozitáře na serveru. | + | * Repozitář by šlo později propojit se vzdáleným serverem pomocí: | 
| + |  git remote add origin ''https:''//''adresa-serveru''/''repozitar.git'' | ||
| + |  git push -u origin main | ||
| + | * Pokud ale chcete pracovat se vzdáleným serverem, je jednodušší začít vytvořením repozitáře na serveru a poté <code>git clone</code>. | ||
| </div> | </div> | ||
| + | |||
| == Úpravy kódu == | == Úpravy kódu == | ||
| * Přejděte do nově vytvořené složky: | * Přejděte do nově vytvořené složky: | ||
|   cd c:\users\student\Dokumenty\develop\repository-name |   cd c:\users\student\Dokumenty\develop\repository-name | ||
| + | |||
| + | * Pracujete stejně, jako s lokálním repozitářem — viz [[Git: Versioning]]. | ||
| + | |||
| * Nyní můžete do složky nahrát požadované soubory a libovolně je upravit. Změny přidáte do gitu pomocí: | * Nyní můžete do složky nahrát požadované soubory a libovolně je upravit. Změny přidáte do gitu pomocí: | ||
|   git add . |   git add . | ||
| − | |||
| − | |||
| − | |||
|   git commit |   git commit | ||
| − | |||
| + | <div class="Poznamka"> | ||
| + | Pokud pracuje na projektu více vývojářů, je vhodné pro každou změnu vytvořit vlastní větev viz [[Git: Branch]] tak, abychom si neměnili kód pod rukama. | ||
| + | </div> | ||
| Řádka 74: | Řádka 98: | ||
| + | == Změna způsobu přihlašování k repozitáři z HTTPS na SSH == | ||
| + | Pokud máte repozitář již stažen a byl klonován pomocí starší metody ověřování HTTPS, můžete ho na metodu SSH přepnout následujícím postupem: | ||
| + | * Spusťte příkazový řádek a přesuňte se do adresáře (složky) repozitáře: | ||
| + |  ''Alt-R'' → cmd | ||
| + |  cd ''c:\...\mujrepozitar'' | ||
| + | * Zobrazte adresu repozitáře: | ||
| + |  git remote -v | ||
| + | * Zobrazí se něco jako: | ||
| + |  > origin  ''https:''//''github.com/''USERNAME''/''REPOSITORY''.git (fetch) | ||
| + |  > origin  ''https:''//''github.com/''USERNAME''/''REPOSITORY''.git (push) | ||
| + | * Změňte adresu repozitáře | ||
| + |  git remote set-url origin git@github.com:''USERNAME''/''REPOSITORY''.git | ||
| + | * Zkontrolujte: | ||
| + |  git remote -v | ||
| + |  > origin  git@github.com:''USERNAME''/''REPOSITORY''.git (fetch) | ||
| + |  > origin  git@github.com:''USERNAME''/''REPOSITORY''.git (push) | ||
| + | Viz také: https://docs.github.com/en/github/using-git/changing-a-remotes-url | ||
| == Související stránky == | == Související stránky == | ||
| − | * [[Git]], [[Git: Versioning]] | + | * [[Git]], [[Git: Versioning]], [[Git: Branch]] | 
Aktuální verze z 15. 3. 2021, 09:19
| Obsah | 
Git
- Git je jedním z nejoblíbenějších verzovacích systémů současnosti.
- Více o Gitu se dozvíte na stránce Git.
- Zde se budeme zabývat prací se vzdáleným repozitářem (zejména na serveru Github.com).
GitHub
- GitHub.com je veřejný server, kde si můžete ukládat aktuální verze svého projektu.
- Váš Git umí stáhnout z GitHubu aktuální verzi a posléze nahrát zpět provedené změny.
- Obdobných serverů existuje více, GitHub patří k nejznámnějším.
Nastavení SSH klíče
- Doporučeným způsobem ověřování identity je dnes SSH klíč.
- K vygenerování klíče použijte Git Bash, který se nainstaloval při instalaci Gitu na váš počítač.
- Generování klíče
- Po spuštění Git Bash zadejte:
ssh-keygen -t rsa
- Pokud zadáte heslo k použití soukromého klíče, pak budete vždy při připojení vyzvání k zadání hesla.
- Pro začátečníky doporučujeme heslo nezadávat, ale klíč důsledně hlídat.
- Nahrátí klíče na server
-  Klíče se standardně vytvoří ve vaší domovské složce v podsložce .ssh.-  Ve Windows to bude: C:\Users\username\.ssh
-  V GNU/Linuxu to bude: /home/username/.ssh
 
-  Ve Windows to bude: 
- Na GitHubu zvolte ve svém účtu: Settings → SSH and GPG keys
-  Pojmenujte klíč (například názvem počítače) a vložte obsah souboru .ssh/id_rsa.pubdo textového pole.
- Potvrďte Add SSH key.
- Nyní se můžete k repozitáři připojit z tohoto počítače pomocí SSH klíče.
Repozitář
- Pojmem repozitář označujeme úložiště na serveru, kde je váš projekt uložen.
- Repozitáře můžou být
- veřejné — kdokoli může vidět jejich obsah, měnit ho ale mohou jen přiřazení vývojáři.
- privátní — tyto repozitáře vidí jen jejich vlastní a přiřazení vývojáři, veřejnost nikoli.
Vytvoření repozitáře
- Vytvořte si účet na serveru GitHub.com.
- Založte repozitář v uživatelském prostředí webu GitHub.com.
Vytvoření lokální kopie repozitáře
- Připravte si složku, ve které vytvoříte lokální kopii repozitáře.
-  Spusťte příkazový řádek (například Win+R → cmd).
-  Přejděte do složky, kde chcete vytvořit lokální kopii repozitáře. Například pro složku c:\users\student\Documents\developnapište:
c: cd c:\users\student\Documents\develop
- Vytvořte lokální kopii vzdáleného repozitáře:
git clone git@github.com:username/repository-name
- Vznikne tak složka:
cd c:\users\student\Dokumenty\develop\repository-name
- Vytvoření lokálního repozitáře bez vazby na vzdálený server
- Pokud bychom pro vývoj nechtěli používat vzdálený server, můžeme si zařídit lokální repozitář příkazem:
git init
-  Potom bychom nepotřebovali git clone.
- Repozitář by šlo později propojit se vzdáleným serverem pomocí:
git remote add origin https://adresa-serveru/repozitar.git git push -u origin main
-  Pokud ale chcete pracovat se vzdáleným serverem, je jednodušší začít vytvořením repozitáře na serveru a poté git clone.
Úpravy kódu
- Přejděte do nově vytvořené složky:
cd c:\users\student\Dokumenty\develop\repository-name
- Pracujete stejně, jako s lokálním repozitářem — viz Git: Versioning.
- Nyní můžete do složky nahrát požadované soubory a libovolně je upravit. Změny přidáte do gitu pomocí:
git add . git commit
Pokud pracuje na projektu více vývojářů, je vhodné pro každou změnu vytvořit vlastní větev viz Git: Branch tak, abychom si neměnili kód pod rukama.
Odeslání upravené verze do repozitáře
- Upravenou verzi nahrajete do repozitáře příkazem:
git push
Změna způsobu přihlašování k repozitáři z HTTPS na SSH
Pokud máte repozitář již stažen a byl klonován pomocí starší metody ověřování HTTPS, můžete ho na metodu SSH přepnout následujícím postupem:
- Spusťte příkazový řádek a přesuňte se do adresáře (složky) repozitáře:
Alt-R → cmd cd c:\...\mujrepozitar
- Zobrazte adresu repozitáře:
git remote -v
- Zobrazí se něco jako:
> origin https://github.com/USERNAME/REPOSITORY.git (fetch) > origin https://github.com/USERNAME/REPOSITORY.git (push)
- Změňte adresu repozitáře
git remote set-url origin git@github.com:USERNAME/REPOSITORY.git
- Zkontrolujte:
git remote -v > origin git@github.com:USERNAME/REPOSITORY.git (fetch) > origin git@github.com:USERNAME/REPOSITORY.git (push)
Viz také: https://docs.github.com/en/github/using-git/changing-a-remotes-url
