我正在尝试设置我的git配置,以便我可以使用工作环境和人员环境。
下面是我的~.gitconfig文件的内容(这恰好是github上的工作和私有):
[url "git@github.com:"]
insteadOf = https://github.com/
[core]
editor = vim
[includeIf "gitdir:~/go/src/github.com/work/"]
path = ~/.gitconfig-work
[includeIf "gitdir:~/go/src/github.com/fzd/"]
path = ~/.gitconfig-private以下是这两个文件的内容:
> cat ~/.gitconfig-work
[user]
email = workerID@company.com
name = realname
signingkey = 454684684654...
[commit]
gpgSign = true
> cat ~/.gitconfig-private
[user]
email = fzd@email.com
name = fzd现在让我们来看看其中一个目录:
> cd ~/go/src/github.com/work/
> git config --get user.email
>
> cd ~/go/src/github.com/fzd/
> git config --get user.name
> 上述任何一项都没有返回字符串。
我原以为这是可行的(它会解决我麻烦的git配置)。
现在,“乐趣”部分:这个配置最初是我的工作配置,只有工作设置正确。当我试图从github克隆一个回购时,无论我在哪里,它都在使用我的工作设置(自从我尝试使用git之后,我就没有重新启动它--我想它还不值得)。
有人能告诉我我的配置做错了什么吗?为什么要使用工作参数呢?在git配置上有某种缓存吗?
下面是我的~/.ssh/config文件的内容:
Host github.com
Hostname ssh.github.com
Port 443
Host *
ServerAliveInterval 10
AddKeysToAgent yes
IgnoreUnknown UseKeychain
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519_work我确实有一对私人回购的钥匙,我不完全确定如何两者兼得。可能有点像这。
发布于 2022-03-14 21:26:18
includeIf只在~/go/src/github.com/work/和~/go/src/github.com/fzd/下的存储库中工作,而不是在非回购目录下工作。
测试:
cd ~/go/src/github.com/work/<some-repo>
git config --get user.emailhttps://stackoverflow.com/questions/71473679
复制相似问题