#windows #git #github #git-credential-winstore
#Windows #git #github #git-учетные данные-winstore
Вопрос:
Я использую git-credential-winstore (установленный с msysgit) для хранения моих личных данных учетной записи GitHub в хранилище учетных данных Window (Панель управления -> Учетные записи пользователей -> Управление учетными данными -> учетные данные Windows) Сейчас я пытаюсь использовать вторую учетную запись GitHub. Я изменил локальный git.config ( git config user.name "foo"
), но когда я нажимаю, он все еще пытается использовать личные учетные данные GitHub. Я знаю, что могу изменить URL-адрес репозитория с https://github.com/user/project.git чтобы https://user:password@github.com/user/project.git , но я бы предпочел не рисковать безопасностью, встраивая учетные данные в git.config. Я знаю, что могу зайти в панель управления и переключать учетные данные туда и обратно, но это действительно раздражает. Есть ли способ сохранить несколько данных учетной записи GitHub в git-credential-winstore и настроить каждое хранилище для использования одного или другого?
Комментарии:
1. хотелось бы знать, как это сделать — в настоящее время я использую yucky ssh для моего «другого входа»
Ответ №1:
Я раздвоил git-credential-winstore для поддержки нескольких входов в github. Вы можете найти мой форк здесь: https://gitcredentialstore.codeplex.com/SourceControl/network/forks/nickmeldrum/gitcredentialstore
(Я отправил первоначальному автору запрос на извлечение, но, похоже, он больше не принимает их / поддерживает проект.)
Самый простой способ использовать мой fork будет:
- Клонировать репозиторий локально:
git clone https://git01.codeplex.com/gitcredentialstore
- Создайте проект, используя конфигурацию отладки (следует создавать с нуля с помощью Visual Studio или MSBuild :
msbuild.exe .git-credential-winstore.sln
) - Запустите команду:
InstallLocalBuild.cmd
чтобы настроить git на использование этой версии помощника по учетным данным
Если кто-нибудь действительно использует этот форк и расскажет мне об этом, я настрою правильную загрузку двоичных файлов в codeplex!
Ключевая информация:
Для того, чтобы это сработало, вам нужно указать git имя пользователя, которое вы хотите использовать для подключения к этому конкретному пульту в этом репозитории. Вы делаете это, указывая его в удаленном URL. Например:
git remote set-url origin https://username@github.com/username/repository.git
Комментарии:
1. Потрясающе! Я бы рекомендовал использовать старый URL, если
username
он был пустым — на всякий случай.2. Да, это хорошая идея — в настоящее время я просто указываю имя пользователя по умолчанию на «неизвестно» в URL-адресе, который мы храним в хранилище учетных данных Windows. Исправит.
3. Отлично. Спасибо за это. Однако это не помогает при использовании gitmodules, поскольку тогда URL-адрес должен быть глобальным, поскольку он привязан к репозиторию, и я не должен добавлять свой логин к URL-адресу, вызывая проблемы у других. ИМХО правильным решением было бы соблюдать параметр credential.username, который я мог бы затем установить в repos .git/config
4. Не работает: удаленно: xtrauser отказано в разрешении на m-m-m/util.git. фатальный: невозможно получить доступ ‘ hohwille@github.com/m-m-m/util.git ‘: Запрошенный URL-адрес вернул ошибку: 403 Нажатие на hohwille@github.com/m-m-m/util.git
5. Итак, вы уверены, что ваше исправление действительно находится в предоставленном вами URL-адресе git? git01.codeplex.com/gitcredentialstore … Я не вижу вашего коммита в журнале git, который должен быть «добавляет поддержку для нескольких удаленных пользователей с разными учетными данными»