Я работаю над несколькими проектами, и эти проекты подключены к другой учетной записи github. конфигурация моего основного проекта была установлена с помощью git config --global user.name "firstusername", а второй проект использовал git config user.name "secondusername". но когда я попытался подключить второй к github с помощью git push -u origin main, он говорит 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 [email protected]
...
но когда я проверил файл secondproject/.git/config, содержимое выглядит так
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[user]
name = secondusername
email = [email protected]
[remote "origin"]
url = https://github.com/secondusername/secondusername.github.io.git
fetch = +refs/heads/*:refs/remotes/origin/*
Что я делаю не так??
git config --list --show-origin перечислит все записи: добавить ` | grep user`, и вы увидите как глобальную, так и локальную запись.
хм... мой вопрос недостаточно тщательный или что-то в этом роде? что с минусом?





user.name и user.email используются только для написания имени автора и/или коммиттера при создании коммитов в локальном репо (git commit, git merge, git rebase, ...).
С другой стороны, учетные данные для подключения к удаленной службе должны быть каким-то образом предоставлены через URL-адрес удаленного сервера.
Попробуйте изменить удаленный URL вашего второго репо на: https://[email protected]/seconduser/...
Другой способ — получить доступ к github через ssh и настроить локальную рабочую станцию (в частности, ее ssh_config), чтобы иметь возможность легко ориентироваться на обе учетные записи:
Несколько учетных записей GitHub и конфигурация SSH
Извините, а вы уверены, что синтаксис правильный? потому что ваш выглядит как URL-адрес битбакета, а не github.. если бы я попробовал ваш, то он выглядел бы так, верно? git remote set-url https://[email protected]/seconduser/seconduser.github.io.git вам не кажется это немного странным? также, когда я бегу git remote get-url origin, он уже говорит https://github/seconduser/seconduser.github.io.git
@dapidmini: вам нужно как-то войти в систему как seconduser на github. Синтаксис https://[email protected]/ — это довольно стандартный способ предоставления имени пользователя вместе с URL-адресом http/https, который понимается браузерами satndard и инструментами командной строки (например: wget или curl), и, насколько мне известно, он должен работать с github. Я лично использую ключи ssh и ssh и использую настройку, как описано в ссылке, чтобы иметь возможность выбрать, какую учетную запись использовать.
Это странно, потому что ответы здесь (не повторяющийся вопрос!) предполагает, что то, что вы сделали, должно было сработать.