Как я могу `git diff` изменить учетные данные rails 5.2?

Я хочу иметь возможность различать изменения в моем зашифрованном файле config/credentials.yml.enc.

Только git diff показывает разницу с содержимым зашифрованного файла. Я хочу видеть изменения открытого текста.

Как я могу получить удобочитаемую разницу в файле config/credentials.yml.enc?


person tommarshall    schedule 27.03.2018    source источник
comment
Я попытался решить эту проблему с помощью .gitattributes, указав bin/rails credentials:show в качестве функции diff textconv для config/credentials.yml.enc, ref: stackoverflow.com/a/39511274 /885540. Однако команда git diff завершается со следующей ошибкой, так как bin/rails credentials:show не принимает аргумент пути. (В отличие от ansible-vault view).   -  person tommarshall    schedule 28.03.2018


Ответы (1)


Это сработает, если вы используете rails encrypted:show вместо rails credentials:show, так как он принимает файл в качестве аргумента.

Для глобальной конфигурации добавьте в свой .gitconfig

[diff "enc"]
  textconv = rails encrypted:show
  cachetextconv = false

а затем в ~/.config/git/attributes

*.yml.enc diff=enc
person Ian Grant    schedule 22.05.2018
comment
Спасибо. rails encrypted:show было именно то, что мне было нужно. Хотя я бы, вероятно, рекомендовал cachetextconv = false, чтобы избежать кэширования конфиденциальных данных, а изменения конфигурации должны быть в .git/config, если у вас нет включения для .gitconfig, например stackoverflow.com/a/18330114/885540. Также атрибуты могут быть определены в .gitattributes, если вы хотите, чтобы они отслеживались в репозитории. - person tommarshall; 22.05.2018
comment
Для чего нужен *.yml.enc diff=enc? Без него работает (у меня) - person Roko; 21.10.2018