git和sourcetree user.name混淆

时间:2019-01-10 16:43:08

标签: git github atlassian-sourcetree

我有一个项目,想要使用与全局值user.name不同的leeyuiwahleeyuiwah-sl),与{{ 1}}。我已经更新了项目的github.com,但是我的命令出现了此错误

.git/config

我运行了这个,设置似乎是正确的:

$ git push -u origin master
remote: Permission to leeyuiwah/brti.git denied to leeyuiwah-sl.
fatal: unable to access 'https://github.com/leeyuiwah/brti.git/': The 
requested URL returned error: 403

但是后来我意识到$ git config --list | grep -E -e "user.*name" credential.username=leeyuiwah user.name=leeyuiwah 使用的配置文件存储了错误的名称

SourceTree

所以我想我可以编辑该JSON文件。我这样做了,但没有帮助。

现在,我被卡住了。有什么建议吗?

更新

每个评论的更多信息:

$ find . -type f | xargs grep leeyuiwah-sl
./.git/sourcetreeconfig.json:      "Username": "leeyuiwah-sl",

$ git remote show origin
* remote origin
  Fetch URL: https://github.com/leeyuiwah/brti.git
  Push  URL: https://github.com/leeyuiwah/brti.git
  HEAD branch: (unknown)

1 个答案:

答案 0 :(得分:1)

我只能猜测,但这对于评论来说太长了。 我的git config --list --show-origin看起来像这样

file:"C:\\ProgramData/Git/config"       core.symlinks=false
...
file:"C:\\Git\\mingw64/etc/gitconfig"   user.name=my name
file:"C:\\Git\\mingw64/etc/gitconfig"   user.email=my.name@domain.com
file:"C:\\Git\\mingw64/etc/gitconfig"   credential.helper=manager
...
file:.git/config        branch.master.remote=origin

有3个不同的配置文件。最后一个条目(如果来自本地存储库)。当我在只有一个名称的Windows上工作时,只有一个user.name,... 有关更多详细信息,请参见here

如果根据您的情况在不同的user.names文件中找不到不同的config,则一定有问题(我想)。换句话说,我期望类似

file:"C:\\Git\\mingw64/etc/gitconfig"   user.name=my name
...
file:.git/config        user.name=my second name
...

我希望对您有帮助...