Просто храните в отдельных файлах и выполните pre-commit
ловушку, чтобы исправить их.
Вы можете обнаружить переименованный файл (в индексе / кэше), используя git diff --cached -M --summary
[flames]$ git diff --cached -M --summary
rename a => b (100%)
затем делайте модные вещи (я предлагаю использовать perl, но я использую sed здесь только для демонстрации)
[flames]$ git diff --cached -M --summary | \
> grep rename | \
> sed 's/^ rename \(.*\) => \(.*\) (.*/s\/^\1$\/\2\//'
s/^a$/b/
используйте это регулярное выражение в вашем файле заметок (не проверено):
#!/bin/sh
REGEX="`git diff --cached -M --summary | \
grep rename | \
sed 's/^ rename \(.*\) => \(.*\) (.*/s\/^\1$\/\2\//'
`"
sed -i -e "$REGEX" note-file
git add note-file
exit 0
Более простой для анализа формат - это формат --raw
.
[flames]$ git diff --cached -M --raw
:100644 100644 b53a58b... 3f063ab... M wxyz
:100644 100644 e69de29... e69de29... R100 a b
Просто найдите R в 5-м столбце.человек diffcore (7) для деталей.Это упражнение для читателя.