it:software:git:stow

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Následující verze
Předchozí verze
it:software:git:stow [2025/01/05 00:23] – vytvořeno Petr Nosekit:software:git:stow [2025/01/05 21:27] (aktuální) – [Použití bez domovské složky] Petr Nosek
Řádek 1: Řádek 1:
 ====== Stow ====== ====== Stow ======
  
 +===== Úvod =====
 +Příkaz **stow** je nástroj pro správu symbolických odkazů (symlinků), který umožňuje efektivně organizovat a propojit konfigurační soubory s jejich cílovým umístěním. Typicky se používá v kombinaci s adresářem obsahujícím konfigurační soubory, často nazývaným **dotfiles**.
 +
 +===== Doporučené konvence =====
 +Pojmenování adresáře **dotfiles** je neformální standard používaný v komunitě správců Linuxu a Unixu pro úložiště uživatelských konfigurací. Název odkazuje na tradiční „dotfiles“ – soubory začínající tečkou (.), které jsou běžně skryté v domovském adresáři, například `.bashrc` nebo `.vimrc`.
 +
 +**Proč používat název dotfiles?**
 +  - **Komunitní standard**: 
 +      * Adresář s názvem dotfiles okamžitě signalizuje, že obsahuje vaše konfigurační soubory.
 +      * Nástroje jako GitHub, GitLab a různé skripty často očekávají, že repozitář s názvem dotfiles bude obsahovat konfigurace.
 +  - **Znalostní zkratka**: 
 +      * Sdílení repozitáře dotfiles ostatním umožňuje rychle identifikovat vaše nastavení, což usnadňuje spolupráci a inspiraci.
 +  - **Flexibilita**:
 +      * Dotfiles mohou obsahovat nejen soubory začínající tečkou, ale i další složky a konfigurace.
 +  - **Tradice a zdroje**:
 +      * Použití tohoto názvu usnadňuje využití komunitních zdrojů, návodů a projektů zaměřených na správu dotfiles.
 +
 +
 +
 +===== Příklad adresářové struktury =====
 +  * dotfiles
 +    * .git
 +    * README.md 
 +    * kamery
 +      * Kamery
 +        * jednakamera.strm
 +        * druhakamera.strm
 +    * kodi
 +      * .kodi
 +        * userdata
 +          * profiles.xml
 +          * sources.xml
 +
 +===== Použití =====
 +Symbolické odkazy lze vytvořit pro všechny složky v adresáři příkazem:
 +  
 +<code bash>
 +stow */
 +</code>
 +
 +V mém případě dojde k následujícímu vytvoření symbolických odkazů v domovském adresáři:
 +
 +  - ~/Kamery/jednakamera.strm → dotfiles/kamery/Kamery/jednakamera.strm
 +  - ~/Kamery/druhakamera.strm → dotfiles/kamery/Kamery/druhakamera.strm
 +  - ~/.kodi/userdata/profiles.xml → dotfiles/kodi/.kodi/userdata/profiles.xml
 +  - ~/.kodi/userdata/sources.xml → dotfiles/kodi/.kodi/userdata/sources.xml
 +
 +Soubory jako `README.md` nebo adresář `.git` jsou automaticky ignorovány, protože je stow má nastavené jako výjimky.
 +
 +Pro odstranění vytvořených symbolických odkazů lze použít příkaz:
 +  
 +<code bash>
 +stow -D */
 +</code>
 +
 +===== Mapování po modulech =====
 +Pokud nechcete mapovat všechny složky naráz, můžete zvolit konkrétní modul, například složku kodi:
 +
 +<code bash>
 +stow kodi
 +</code>
 +
 +Tento příkaz vytvoří symbolické odkazy pouze pro obsah složky kodi:
 +
 +  - ~/.kodi/userdata/profiles.xml → dotfiles/kodi/.kodi/userdata/profiles.xml
 +  - ~/.kodi/userdata/sources.xml → dotfiles/kodi/.kodi/userdata/sources.xml
 +
 +
 +===== Práce s domovskou složkou =====
 +Ve výchozím nastavení **stow** předpokládá, že symbolické odkazy budou vytvořeny v domovském adresáři (`~`).
 +
 +===== Použití bez domovské složky =====
 +Pokud nechcete používat domovskou složku, můžete definovat jiný cílový adresář pomocí přepínače `-t`:
 +
 +<code bash>
 +stow -t /cesta/k/cilovemu/adresari */
 +</code>
 +
 +
 +
 +===== Ignorování některých souborů =====
 +
 +Do složky lze přidat sloubor .stow-local-ignore do kterého zadám, že chci ignorovat některé symlinky. Mám například složku certs, do ní jsem nahrál soubor .stow-local-ignore a do něj jsem vložil zástupné znaky, aby se ignorovaly všechny soubory ve složce. 
 +
 +<code>
 +.*
 +</code>
 +
 +Při hromadném mapování složek 
 +
 +<code bash>
 +stow */
 +</code>
 +
 +Mi tedy nejsou namapovány soubory ve složce, kde je právě soubor .stow-local-ignore.
  • it/software/git/stow.1736036637.txt.gz
  • Poslední úprava: 2025/01/05 00:23
  • autor: Petr Nosek