Git: Repository
Z MiS
(Rozdíly mezi verzemi)
(Přesunutí textu z Git.) |
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.) |
||
(Není zobrazeno 5 mezilehlých verzí 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 |
--> | --> | ||
+ | |||
+ | <div class="Poznamka"> | ||
+ | ; 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 <code>git clone</code>. | ||
+ | * 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> | ||
+ | |||
== Ú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 66: | Řá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.pub
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.
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\develop
napiš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