Git konfigurácia na Windows pre profesionálny workflow
Základná Git konfigurácia pre čisté commitovanie a tímovú konzistenciu.
Bez základnej konfigurácie Gitu vzniká chaos v histórii commitov. Tento článok nastaví minimum, ktoré potrebuješ hneď po inštalácii.
Oficiálny zdroj:
Overenie inštalácie
git --versionwhere gitPovinné globálne nastavenia
git config --global user.name "Tvoje Meno"git config --global user.email "you@example.com"git config --global init.defaultBranch maingit config --global core.autocrlf trueČo tieto nastavenia robia:
user.nameauser.email: meno a e-mail autora commitu (predvolená identita pre všetky repozitáre na tomto PC).init.defaultBranch main: keď vytvoríš nové repo (git init), predvolená vetva budemain(nie napr.master).core.autocrlf true: na Windowse Git pri checkoute prevedie konce riadkov naCRLFa pri commite ich vráti naLF.
EOL znamená End Of Line (koniec riadku v texte). Windows typicky používa CRLF, Linux/macOS LF. Ak sa EOL rieši zle, v diffoch vidíš zbytočne „zmenené“ celé súbory.
Ak pracuješ prevažne vo WSL (Linux tooling), nastav core.autocrlf input v prostredí WSL, aby sa pri commite normalizovalo na LF, ale checkout nemenil riadky na CRLF.
Ďalšie užitočné defaults
git config --global pull.rebase falsegit config --global fetch.prune trueČo tieto voľby znamenajú:
pull.rebase false:git pullštandardne spraví merge (nie rebase). Je to čitateľné pre juniorov a bezpečný tímový default.fetch.prune true: prigit fetchodstráni lokálne remote-tracking vetvy, ktoré už na serveri neexistujú (origin/stara-vetva).
Overenie aktuálnych hodnôt:
git config --global pull.rebasegit config --global fetch.prunePracovný vs súkromný účet (lokálne nastavenie pre konkrétny projekt)
--global je dobrý základ, ale pre konkrétne repo môžeš identitu prepísať bez --global. Git použije lokálne nastavenie z aktuálneho repozitára a tým prepíše globálne.
Príklad pre pracovný projekt:
cd C:\projekty\firma-apigit config user.name "Ján Kováč"git config user.email "jan.kovac@firma.sk"Príklad pre súkromný projekt:
cd C:\projekty\moj-bloggit config user.name "Jan Kovac"git config user.email "jan@osobny-mail.com"Overenie identity v aktuálnom repozitári:
git config user.namegit config user.emailgit config --show-origin --get-regexp "user.name|user.email"Kontrola
git config --global --listNajčastejšie chyby
- commitovanie pod pracovným emailom v osobnom repo (a opačne) pri chýbajúcom lokálnom
git config user.email, - zlý line-ending setup,
- nevyčistené remote branches.
Mini úloha
- Nastav globálnu identitu.
- V pracovnom repozitári prepíš lokálne
user.nameauser.emailbez--global. - Sprav test commit a over autora cez
git log -1 --pretty=full.
Čo bude ďalej
Nasleduje SSH kľúč (Ed25519) pre GitHub/GitLab.