git-credential-winstore.exe для двух логинов на GitHub?

#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 будет:

  1. Клонировать репозиторий локально: git clone https://git01.codeplex.com/gitcredentialstore
  2. Создайте проект, используя конфигурацию отладки (следует создавать с нуля с помощью Visual Studio или MSBuild : msbuild.exe .git-credential-winstore.sln )
  3. Запустите команду: 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, который должен быть «добавляет поддержку для нескольких удаленных пользователей с разными учетными данными»