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
- lokálně chci v
- 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/"
- se
sed
escapuje pomocí\\
— oddělovač lze měnits/…/…/
nas:…:…:g
. - více StackOverflow> Can git ignore a specific line?