Скрытие маркера GitHub в .gitconfig

Я хотел бы сохранить все мои dotfiles в GitHub, включая .gitconfig, который требует от меня скрыть маркер GitHub в .gitconfig.

Для этого у меня есть файл .gitconfig-hidden-token, который является файлом, который я намереваюсь отредактировать, и поставьте под git, который скрывает токен:

...
[github]
user = giuliop
token = --hidden--
...

И оболочку script, которую мне нужно запустить, если я изменю файл ".gitconfig-hidden-token", чтобы создать файл ".gitconfig":

cp .gitconfig .gitconfig.backup
sed 's/--hidden--/123456789/' .gitconfig-hidden-token > .gitconfig

Недостатком является необходимость вручную запускать script каждый раз, когда я изменяю файл. Есть ли лучший, полностью автоматизированный способ сделать это?

Ответы

Ответ 1

Добавьте свой .gitconfig с помощью git add -N.

Затем git add -p, отредактируйте кусок, замените токен на что угодно и нажмите на него. Нет необходимости в дополнительном файле.

Добавление: при дополнительных модификациях вашего файла снова используйте git add -p и отредактируйте кусок, чтобы ваша первоначальная манипуляция не была перезаписана.

Ответ 2

Я только что решил это для себя. "Правильный" способ решить проблему состоит в том, чтобы разделить ваш gitconfig на два файла, открытый с псевдонимом /config/etc и частный файл, который хранит ваше имя пользователя и секреты. Так вот...


Из https://github.com/ddopson/dotfiles...

<Б > .gitconfig:
[include]
  # For username / creds / etc
  path = ~/.gitconfig.local

[alias]
  ... 
<Б > .gitconfig.local:
[user]
  user = ddopson
  name = Dave Dopson
  email = [email protected]
  token = a123uber456secret789ceprivate000key78

[credential]
  helper = osxkeychain
<Б > .gitignore:
/.gitconfig.local

Ответ 3

Теперь вы можете включить другой файл в свой gitconfig. Вы можете разместить раздел github в этом дополнительном файле. См. Этот вопрос: Можно ли включить файл в ваш .gitconfig

Ответ 4

Я сделал script для обновления моего репликации dotfiles, он также редактирует важную информацию, такую ​​как мой токен github. Я не думаю, что токен github используется GitHub, хотя, но исправьте меня, если я ошибаюсь.

Здесь вы можете просмотреть script .