Я работаю над несколькими проектами, и эти проекты подключены к другой учетной записи 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 и использую настройку, как описано в ссылке, чтобы иметь возможность выбрать, какую учетную запись использовать.
Это странно, потому что ответы здесь (не повторяющийся вопрос!) предполагает, что то, что вы сделали, должно было сработать.