Appearance
Git – základní příkazy a workflow
Poznámky k základním příkazům Git pro práci s projektem a GitHubem.
Obsah
- Git – základní příkazy a workflow
- Obsah
- Inicializace repozitáře
- Staging area
- Commit
- Branches
- Remote repozitář
- Push
- Pull / Fetch / Clone
- Diagram práce s GitHubem
- Základní workflow
- Typické chyby začátečníků
- Odkazy
Inicializace repozitáře
git initPopis
Vytvoří v aktuální složce nový Git repozitář.
Git začne sledovat změny souborů v projektu.
Technicky
Vytvoří skrytou složku:
.gitStruktura projektu:
projekt/
main.c
test.cpo inicializaci:
projekt/
.git/
main.c
test.cStaging area
git add .Popis
Přidá změněné soubory do staging area (přípravná oblast pro commit).
Git workflow:
working directory -> staging area -> commitVýznam tečky
.znamená:
aktuální složka + všechny podsložkyPřidání jednoho souboru
git add main.cCommit
git commit -m "Prvni verze projektu"Popis
Uloží aktuální změny do historie projektu.
Commit je snapshot projektu v určitém čase.
Parametry
| parametr | význam |
|---|---|
-m | message (popis změny) |
Příklad historie
commit 1 -> Prvni verze
commit 2 -> Pridany login
commit 3 -> Oprava chybyKaždý commit má vlastní hash ID.
Branches
git branch -M mainPopis
Nastaví hlavní větev projektu na:
mainGit umožňuje pracovat s více větvemi současně.
Příklad
main
├─ feature-login
└─ feature-apiVývoj probíhá ve větvích a později se slučuje.
Remote repozitář
git remote add origin https://github.com/TVUJ-UCET/skola-kody.gitPopis
Propojí lokální projekt s repozitářem na GitHubu.
Parametry
| část | význam |
|---|---|
remote | práce se vzdáleným repozitářem |
add | přidání vzdáleného repo |
origin | název repozitáře |
| URL | adresa GitHub repo |
Kontrola remote
git remote -vPush
git push -u origin mainPopis
Nahraje změny z lokálního repozitáře na GitHub.
Parametry
| část | význam |
|---|---|
push | odeslat změny |
origin | vzdálený repozitář |
main | větev |
-u | nastaví výchozí tracking |
Po prvním použití:
git pushPull / Fetch / Clone
Clone
git clone https://github.com/uzivatel/projekt.gitStáhne celý repozitář z GitHubu.
Používá se při prvním získání projektu.
Pull
git pullStáhne změny z GitHubu a rovnou je sloučí s lokálním projektem.
Fetch
git fetchStáhne změny z GitHubu, ale nesloučí je.
Používá se pro kontrolu změn.
Diagram práce s GitHubem
GitHub
│
│ git push
│
remote repository
│
│ git pull
│
local repository
│
│ git add
│
staging area
│
│ git commit
│
working directoryZákladní workflow
První nastavení projektu
Je potreba otevrit prikazovy radek v dane slozce, kterou chceme pridat na GitHub.
git init
git add .
git commit -m "Prvni verze"
git branch -M main
git remote add origin URL
git push -u origin mainBěžná práce
před prací:
git pullpo změnách:
git add .
git commit -m "popis zmen"
git pushTypické chyby začátečníků
1. Zapomenutý commit
změníš soubor, ale neuděláš commit
git add .
git commit -m "popis"2. Zapomenutý push
commit je pouze lokálně.
git push3. Konflikty
vznikají pokud:
- dva lidé upraví stejný soubor
- nebo pracuješ na dvou počítačích
řešení:
git pulla vyřešit konflikt v souboru.
Odkazy
Git dokumentace
GitHub
Git tutorial