gws*_*gws 15 linux git bash github
我想将所有的dotfiles存储在GitHub上,包括.gitconfig,它要求我在.gitconfig中隐藏GitHub令牌.
为此,我有一个".gitconfig-hidden-token"文件,这是我打算编辑的文件并放在git下隐藏令牌:
...
[github]
user = giuliop
token = --hidden--
...
Run Code Online (Sandbox Code Playgroud)
如果我修改".gitconfig-hidden-token"文件来创建".gitconfig"文件,我需要启动一个shell脚本:
cp .gitconfig .gitconfig.backup
sed 's/--hidden--/123456789/' .gitconfig-hidden-token > .gitconfig
Run Code Online (Sandbox Code Playgroud)
缺点是每次修改文件时都需要手动启动脚本.有没有更好的,完全自动化的方法来做到这一点?
Dav*_*son 34
我刚刚为自己解决了这个问题.解决问题的"正确"方法是将gitconfig拆分为两个文件,一个是带有别名/ config/etc的公共文件,另一个是保存用户名和密码的私有文件.像这样......
来自https://github.com/ddopson/dotfiles ...
[include]
# For username / creds / etc
path = ~/.gitconfig.local
[alias]
...
Run Code Online (Sandbox Code Playgroud)
.gitconfig.local:
[user]
user = ddopson
name = Dave Dopson
email = ddopson@gmail.com
token = a123uber456secret789ceprivate000key78
[credential]
helper = osxkeychain
Run Code Online (Sandbox Code Playgroud)
的.gitignore:
/.gitconfig.local
Run Code Online (Sandbox Code Playgroud)
fge*_*fge 10
添加.gitconfig git add -N.
然后git add -p,编辑大块,用任何东西替换令牌,并推动它.这种方式不需要额外的文件.
附录:对文件的其他修改,git add -p再次使用,并编辑大块,以便不会覆盖您的初始操作.