Git: Ignorování souborů a změn v textu

Rychlý příspěvek, jak ignorovat sobory a nahrazovat texty v souborech při commitování…


Aliasy

Aliasy pro git pomáhající s lokálním ignorováním souborů (do .git/config zadat – viz příspěvek od phatmann):

[alias]
    ignore = update-index --assume-unchanged
    unignore = update-index --no-assume-unchanged
    ignored = !git ls-files -v | grep "^[[:lower:]]"

Gitignore pro již commitnutý soubor

Ignorování již nahraného souboru:

$git update-index --assume-unchanged [file]

gitattributes (jedno z použití)

V .git/info/attributes lze nastavit filtry:

  • situace:
    • lokálně chci v _config.yml používat: LOCAL
    • ale globálně: GLOBAL
  • do souboru jméno filtru: _config.yml filter=local_global
  • do konzole:
$gitconfig --global filter.local_global.smudge 'sed "s/LOCAL/GLOBAL/"'
$gitconfig --global filter.local_global.clean 'sed "s/LOCAL/GLOBAL/"'
  • alternativně v .gitconfig:
[filter "local_global"]
    smudge = sed "s/LOCAL/GLOBAL/"
    clean = sed "s/LOCAL/GLOBAL/"