为多个项目设置 git 配置

setting git config for multiple project

我正在处理多个项目,这些项目关联到不同的 github 帐户。我的主要项目的配置是使用 git config --global user.name "firstusername" 设置的,第二个项目使用的是 git config user.name "secondusername"。但是当我尝试使用 git push -u origin main 将第二个连接到 github 时,它显示 Permission to secondusername/secondusername.github.io.git denied to firstusername.

当我在第二个项目文件夹上打开 gitbash 并且 运行 git config user.name 它给出 secondusername,但是当我 运行 git config --list --show-origin 时,凭据说这个

...
file:C:/Users/home/.gitconfig   user.name=firstusername
file:C:/Users/home/.gitconfig   user.email=firstemail@gmail.com
...

但是当我检查 secondproject/.git/config 文件时,内容如下所示

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
[user]
    name = secondusername
    email = secondemail@gmail.com
[remote "origin"]
    url = https://github.com/secondusername/secondusername.github.io.git
    fetch = +refs/heads/*:refs/remotes/origin/*

我做错了什么??

user.nameuser.email 仅用于写作者的名字 and/or 当您在本地 repo 上创建提交时提交者 (git commit, git merge, git rebase, ...).

另一方面,连接到远程服务的凭据应该通过远程的 url.

以某种方式提供

尝试将第二个存储库的远程 url 更改为:https://seconduser@github.com/seconduser/...

另一种方法是通过 ssh 访问 github,并设置您的本地工作站(特别是 ssh_config)以便能够轻松地同时针对两个帐户:

Multiple GitHub Accounts & SSH Config