Tipy & triky · Workflow · Všude · ~5 min týdně · 2 min čtení
Globální .gitignore: .DS_Store řešte jednou provždy
Naposledy ověřeno:

V každém druhém repozitáři na světě straší v .gitignore řádek .DS_Store — a přesto se tenhle soubor, který si macOS vytváří v každé složce, pravidelně někomu připlete do commitu. Přitom je to postavené na hlavu: smetí, které produkuje váš operační systém nebo váš editor, není vlastnost projektu, ale vašeho počítače. Git na to má správné řešení, o kterém se málo ví: globální ignore soubor. Nastavíte ho jednou a platí pro všechny repozitáře na vašem stroji — současné i budoucí.
Jak na to
- Vytvořte si soubor, třeba
~/.gitignore_global, a napište do něj vzory, které chcete ignorovat všude. Typický obsah:.DS_Store(macOS),Thumbs.dbaDesktop.ini(Windows),*.swp(Vim), případně složky vašich nástrojů, které si do projektů odkládají lokální nastavení. - Řekněte gitu, aby ho používal:
git config --global core.excludesFile ~/.gitignore_global. Tím se zapíše do vaší globální konfigurace a od té chvíle platí v každém repozitáři. - Ověřte to: v libovolném repozitáři spusťte
git statusve složce, kde nějaký.DS_Storeleží — už se nesmí nabízet mezi nesledovanými soubory. Kontrola konfigurace:git config --global core.excludesFile. - Pokud už je nějaké smetí v repozitáři commitnuté, ignorování na něj nestačí — odeberte ho z evidence příkazem
git rm --cached .DS_Storea commitněte. - Do projektového
.gitignorepak patří jen to, co se týká projektu samotného: složky se závislostmi, výstupy buildu, lokální konfigurace. Hranice je jednoduchá — co by ignorovali i kolegové s jiným systémem a editorem, patří do projektu; co je specialita vašeho stroje, patří do globálního souboru.
Vzorová situace
Vývojář přechází na nový počítač s macOS a během prvního týdne mu kolegové dvakrát vrátí pull request s poznámkou „máš tam .DS_Store“. Místo přidávání téhož řádku do .gitignore osmi firemních repozitářů (a hádky, jestli tam patří) si nastaví globální ignore — pět minut práce — a problém navždy zmizí, i pro každý projekt, který teprve naklonuje. Commity jsou čisté a .gitignore projektů přestane bobtnat výjimkami pro každý editor, který kdy někdo v týmu použil.
Co vám to přinese
Konec trapných commitů se systémovým smetím a konec vracených review kvůli souboru, který tam nepatří. Projektové .gitignore zůstanou krátké a srozumitelné, protože řeší projekt, ne vaše nástroje. Jednorázová pětiminutová investice, která pracuje v každém repozitáři, který kdy naklonujete. A pokud si soubor přibalíte do svých dotfiles, přestěhuje se s vámi i na příští počítač.
Chcete jít do hloubky? V příručce najdete kapitolu Základní systémy: inbox, priority, revize.
Podobné tipy
Ctrl+W a Ctrl+U: mažte v terminálu po slovech a řádcích
Ctrl+W
Překlep na začátku dlouhého příkazu není důvod držet Backspace. Ctrl+W smaže slovo, Ctrl+U řádek, Ctrl+A skočí na začátek.
Stránka se chová divně? Zkuste tvrdé obnovení Ctrl+F5
Ctrl+F5
Rozbitý vzhled, stará verze, tlačítko, které nereaguje — Ctrl+F5 donutí prohlížeč stáhnout stránku znovu a načisto.
Skoro každá aplikace má rychlý přepínač: zkuste Ctrl+P nebo Ctrl+K
Ctrl+K
VS Code, Figma, Slack, Notion, prohlížeče — všude otevře „skok na cokoliv“. Naučte se ho v každé aplikaci, kterou používáte denně.
Pomohlo vám to?
Líbil se vám tip?
Každý týden posílám jeden takový do e-mailu. Dvě minuty čtení, hodiny úspor.
1 tip týdně · žádný spam · odhlášení jedním klikem