
pwd — vypíš aktuálny adresárcd folder — zmeň aktuálny adresár na folderSet-ExecutionPolicy RemoteSigned -Scope CurrentUser
irm get.scoop.sh | iex # inštalácia scoopu
scoop install git # inštalácia gitugit config. Tieto údaje bude Git používať na priradenie autora k verzii.git config --global user.name "Tibor Stanko"
git config --global user.email "[email protected]"main (o vetvách si povieme viac neskôr)git init slúži na vytvorenie Git repozitára v aktuálnom adresári:git status:Uloženie verzie prebieha v dvoch krokoch.
git add označíme zmeny ktoré majú byť pridané do novej verzie:git commit vytvoríme záznam o novej verzii:-m "commit message"-m vynecháme. git commit vtedy otvorí textový editor v ktorom popis napíšeme.vim, ktorý beží priamo v termináli. Ak nemáte skúsenosti s používaním vimu, môžete si editor zmeniť:Neflákajte písanie commit messages!

Niektoré systémy na kontrolu verzií fungujú tak že vytvoria novú verziu zo všetkých aktuálnych súborov v repozitári. Tento spôsob ukladania záloh môže byť nevýhodný. Príkladom je situácia keď sme v repozitári implementovali dve nezávislé funkcie, a chceme ich zachytiť v dvoch rozdielnych verziách. V Gite preto existuje koncept prípravnej zóny (staging area), vďaka ktorej máme kontrolu nad tým ktoré zmeny budú a ktoré nebudú pridané do nasledujúcej verzie.
git status:git log sa môžeme presvedčiť o tom že záznam (commit) bol vytvorený:commit bf5c9b4a320012b422546fcb86f5b957104bea55 (HEAD -> main)
Author: Tibor Stanko <[email protected]>
Date: Tue Sep 13 17:00:00 2022 +0200
Add hello.pygit reset [file] odstránime súbor z prípravnej zóny bez straty zmien v súboregit reset [file] odstránime súbor z prípravnej zóny bez straty zmien v súborezoozoo Git repozitártest.txt s ľubovoľným obsahomtest.txt do ďalšej verzie a ulož jugit logTip: nezabudni počas práce používať git status na zistenie aktuálneho stavu repozitára.
Vetvy slúžia na vybočenie z hlavnej línie a pokračovanie v práci bez zásahu do nej
Vetvenie je silnou stránkou Gitu — prepínanie medzi vetvami je rýchle, čo umožňuje časté vytváranie nových vetiev
Doteraz sme pracovali na vetve main, ktorú automaticky vytvoril git init
Zoznam vetiev si môžeme pozrieť cez príkaz git branch:
V Gite je prednastavená hlavná vetva master. Tento názov sa v posledných rokoch stal kontroverzným a postupne sa prestáva používať. Preto sme pri nastavovaní Gitu zmenili init.defaultBranch na main.
rewrite/improve second bullet
french zavolámeslovak do hlavnej vetvy main, prepneme sa najprv na hlavnú vetvu:git merge:>> git merge french
Auto-merging hello.py
CONFLICT (content): Merge conflict in hello.py
Automatic merge failed; fix conflicts and then commit the result.git branch --delete, skrátene git branch -d.Po vymazaní je vetva odstránená z histórie a nie je možné ju obnoviť.
git log histórieadd mermaid diagram for this git log output
animalszoo.txt s nasledovným obsahom:zoo.txtanimals do vetvy main a vymaž vetvu animalstiger zmeň riadok lev na tiger a ulož novú verziumain, oprav riadok zirafa na žirafa a ulož novú verziutiger s vetvou mainDoteraz sme pracovali s lokálnym Git repozitárom ktorý je uložený na našom počítači
Vzdialený repozitár (remote) je uložený na Internete — presnejšie, na webovom serveri
napr. github.com, firemný server, univerzitný server, …





git remote add <name> <url>:name bude Git používať ako meno vzdialeného repozitára na adrese url. Meno môže byť ľubovoľné; bežne sa stretneme s menom origin.git push <remote> <branch> “pretlačí” lokálne zmeny z vetvy branch do vzdialeného repozitára remote:git push je potrebné pridať argument -u:-u alebo --set-upstream nastaví predvolenú remote vetvu (origin/main) pre aktuálnu lokálnu vetvu (main)
ak remote vetva origin/main neexistuje, git push ju automaticky vytvorí
git pushgit push



git branch -a vypíše zoznam všetkých vetiev, lokálnych aj vzdialených-a je skratka pre --all* označuje aktuálnu vetvu:To https://github.com/bbrrck/zoo.git
! [rejected] main -> main (fetch first)
error: failed to push some refs to 'https://github.com/bbrrck/zoo.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.git fetch stiahneme zoznam zmien z remote vetvy:git merge:git pull, ktorý je kombináciou git fetch a git merge:git clone:remote_url v adresári local_folderzoo.main na remote.zoo.txt za meno každého zvieraťa jeho emoji: 🐼🐘🐯🦒zoo.txt nový riadok krokodíl 🐊 a ulož novú verziu.zoo.txt nový riadok gorila 🦍 a ulož novú verziu..gitignoregit <command> --helpgit diffgit cat-file -pgit restoregit add --interactivegit loggit stashgit blamegit revertPríkaz git revert vytvorí novú verziu, a nemení históriu repozitára.
git resetPríkaz git reset mení históriu repozitára a môže spôsobiť stratu súborov.
README.md ktorý Github automaticky vyrenderujeREADME súborov: matiassingers/awesome-readmeAj tieto slidy boli vytvorené s použitím Markdownu! (pomocou systému Quarto)
# Markdown is Awesome Markdown is very simple and versatile. This is a Markdown paragraph. This is still the same paragraph. ## Formmatting options Bulleted list: - *italic* - **bold** - ***bold and italic*** - ~~strikethrough~~ - [link](https://www.markdownguide.org/) - `code` Numbered list: 1. first item 2. second item 3. last item
Markdown is very simple and versatile.
This is a Markdown paragraph. This is still the same paragraph.
Bulleted list:
codeNumbered list:
### Code blocks
```python
def main():
print("hello!")
if __name__ == "__main__":
main()
```
### Images

### Blockquotes
> It’s worth remembering that it is often the small steps, not the giant leaps, that bring about the most lasting change.
| en | sk |
|---|---|
| branch | vetva |
| clone | naklonovanie repozitára |
| commit | záznam |
| commit message | popis záznamu |
| conflict | konflikt medzi verziami |
| conflict resolution | riešenie konfliktov |
| diff | rozdiel medzi verziami |
| merge | zlúčenie vetiev |
| en | sk |
|---|---|
| pull | stiahnutie vzdialených zmien |
| push | odoslanie lokálnych zmien |
| repository | repozitár, úložisko |
| remote | vzdialený repozitár |
| snapshot | snímka |
| staging area | prípravná oblasť (tiež index) |
| status | stav repozitára |
| version | verzia |