путаница с git и sourcetree user.name - PullRequest
0 голосов
/ 10 января 2019

У меня есть проект, в котором я хочу использовать другой user.name (leeyuiwah), который отличается от глобального значения leeyuiwah-sl), чтобы поговорить с определенным репо в 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, в котором хранится неправильное имя

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

Так что я думаю, что могу просто отредактировать этот файл JSON. Я сделал это, но это не помогло.

Теперь я застрял. Любое предложение?

Обновление

Больше информации согласно комментарию:

$ 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)

И

$ git config --list --show-origin | grep leeyuiwah
file:.git/config        
remote.origin.url=https://github.com/leeyuiwah/brti.git
file:.git/config        credential.username=leeyuiwah
file:.git/config        user.name=leeyuiwah
file:.git/config        user.email=leeyuiwah@gmail.com

1 Ответ

0 голосов
/ 10 января 2019

Я могу только догадываться, но это все равно было слишком долго для комментария. Мой 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 разных конфигурационных файла. Последняя запись если из локального репо. Поскольку я работаю над окнами только с одним именем, есть только один user.name, ... Подробнее см. здесь .

Если вы не можете найти разные user.names в разных config файлах в вашем случае, значит, что-то не так (я думаю). Другими словами, я бы ожидал что-то вроде

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

Надеюсь, это поможет ...

...