所以我的全局“user.email”为“myPersonalEmail@gmail.com”。但我也有一个文件夹来 stash 我的工作项目,组织方式如下:
repos/
workRepos/
databaseMonitor/
salesWebapp/
sudokuSolver/
someCoolGame/
我知道我可以将 workRepos/
中每个子仓库的本地 user.email 设置为“rollie@companyname.com”,但我宁愿直接在 workRepos 中设置它/
所以下面的所有项目都将我的邮箱解析为公司邮箱,我不会不小心提交错误身份的东西。
我对在 workRepos/
中初始化一个 git 存储库犹豫不决,因为有些工具会向我显示 that 存储库的内容,而不是我正在处理的那个.似乎 git 会有一些东西,允许像 .git.settings
文件,如果在 repo 协议(protocol)之上找到任何人,就会使用它来覆盖全局设置。
从 SO 推荐的类似问题中,我看到可以在全局 git 配置文件中提供一些配置,这会起作用,但我不喜欢让它复杂化,而且如果我将我的存储库移动到一个新的,一切都会崩溃位置,所以它并不理想,但可能是我会做的。
是这样吗?关于做我想做的事有什么建议吗?还是我像某种尼安德特人一样坚持在每个存储库的基础上指定它?
最佳答案
可以使用不同的 .gitconfig
来做到这一点文件。我的主目录如下所示:
~
-> .gitconfig
-> .gitconfig.personal
-> .gitconfig.work
-> /personal
-> /work
.gitconfig
的内容:
# default to work config
[include]
path = ~/.gitconfig.work
# when working on personal projects
[includeIf "gitdir:**/personal/**/.git"]
path = ~/.gitconfig.personal
[gpg]
program = gpg
[commit]
gpgSign = true
.gitconfig.work
的内容:
[user]
name = Blair Nangle
email = blair@work.com
signingkey = XXXXXXXXXXXXXXXX
.gitconfig.personal
的内容:
[user]
name = Blair Nangle
email = blair@personal.com
signingkey = YYYYYYYYYYYYYYYY
现在,当我处理驻留在 ~/personal
下的任何 Git 项目时,将使用我的个人 Git 配置。
您可以通过运行 git config user.email
来测试您的配置来自 ~/work/a-project
和 ~/personal/another-project
.
关于git - 我可以为某个目录下的所有目录设置用户名/电子邮件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70063122/