不使用.gitconfig设置Git用户名和电子邮件?

vor*_*sbn 5 git macos dotfiles

我有一个包含该.gitconfig文件的macOS的dotfiles存储库.我想保留usernameemail分离此文件,以便这些变量永远不会作为我的公共dotfiles存储库的一部分提交.

我看到的一种方法是指定一个名为的文件.extra,将其保存在~/目录中(引用它.bash_profile)并在该文件中设置Git变量,以便它们在我的公共存储库外部,即我对其进行的任何公共更改.gitconfig包括usernameemail.

问题是设置这些值的方法都不适用于我.每次尝试后,我都收到以下消息:

您的姓名和电子邮件地址是根据您的用户名和主机名自动配置的.请检查它们是否准确.您可以通过显式设置来禁止显示此消息:

git config --global user.name "Your Name"

git config --global user.email you@example.com

执行此操作后,您可以使用以下命令修复用于此提交的标识:

git commit --amend --reset-author

我的.extra文件中有以下内容,但他的工作无效:

GIT_AUTHOR_NAME="First Last"

GIT_COMMITTER_NAME="First Last"

EMAIL=email@example.com

我尝试过使用这些变量和其他变量的各种方法,以及包含和排除引号,甚至为这些行添加前缀export.有点亏!

vor*_*sbn 8

我想出了解决方案:

将以下内容添加到您的dotfiles .gitconfig文件中:

[user] # These values are set in ~/.gitconfig_local

[include] path = ~/.gitconfig_local

~/被调用中创建一个文件,.gitconfig_local并在文件中添加您不想提交或公开的值.gitconfig.在这种情况下:

[user] name = First Last email = email@example.com

正如您可能猜到的,该[include]命令"链接"到存储库外部的本地辅助配置文件,因此是私有的.您的其他设置(.gitconfig例如别名,颜色和编辑器设置等)仍将公开.

  • 不知道你可以包含 git 配置文件中的配置文件。不错的解决方案 (3认同)