TortoiseGit збереже автентифікацію / облікові дані користувачів


286

Чи є спосіб зберегти за GITHUB's user credentialsдопомогою TortoiseGit?

Це підказує мені діалог нижче щоразу, коли я натискаю / тягну.

Я хотів би зберегти інформацію про свої дані користувача, де-небудь, як, наприклад, з TortoiseSVN.

введіть тут опис зображення



Ви також можете використовувати Менеджер довірених даних для збереження / управління обліковими записами. stackoverflow.com/a/31782500/730676
user730676

Відповіді:


351

Для TortoiseGit 1.8.1.2 або пізнішої версії існує графічний інтерфейс для вмикання / вимикання помічника даних.

Він підтримує git-credential-wincredі git-credential-winstore.

TortoiseGit 1.8.16 додає підтримку git-credential-manager(Git Credential Manager, наступник git-credential-winstore)

Вперше під час синхронізації вас запитують користувач та пароль, ви вводите їх, і вони будуть збережені у магазині облікових даних Windows. Він не запитуватиме користувача чи пароля при наступній синхронізації.

Для використання: Клацніть правою кнопкою миші → TortoiseGit → Налаштування → Git → Акредитив. Виберіть Помічник довіри: wincred - лише це сховище / wincred - поточний користувач Windows

введіть тут опис зображення


40
Акуратний. Тепер, як я ним користуюся?
BlueRaja - Danny Pflughoeft

16
Клацніть правою кнопкою миші -> TortoiseGit -> Налаштування -> Git -> Акредитив. Виберіть wincred - this repository onlywincred - current Windows user
Помощника довіри

33
Ні, спочатку потрібно ввімкнути помічника довіри. Під час першого синхронізації вас запитують користувач та пароль, ви вводите їх, і вони будуть збережені у магазині облікових даних Windows. Він не запитуватиме користувача чи пароля при наступній синхронізації.
зв’язати

7
Примітка: це не працюватиме, якщо ваше ім’я користувача містить @! Принаймні для мене, також це повідомлення про помилку: github.com/msysgit/msysgit/isissue/258
OschtärEi

5
Для TortoiseGit 1.8.16 і новіших версій встановіть диспетчер даних Git для Windows - github.com/Microsoft/Git-Credential-Manager-for-Windows - і виконайте наведені вище вказівки. GCM також обробляє кредити для git у Cygwin / babun, що приємно.
DrStrangepork

68

Якщо ви збираєтесь оскаржити цю відповідь

Я написав це за кілька місяців до включення git-довірених даних у TortoiseGit. З огляду на кількість великих дірок у безпеці, виявлених за останні кілька років, і наскільки я дізнався про мережеву безпеку, я б ВДАЛО рекомендую вам використовувати унікальний (мінімум 2048-бітний RSA) ключ SSH для кожного сервера, до якого ви підключаєтесь.

Нижній синтаксис все ще доступний, хоча сьогодні є набагато кращі інструменти, такі як git-credentialприйнята відповідь говорить про те, як користуватися. Зробіть це замість цього.


Спробуйте змінити віддалену URL-адресу на те, https://username@github.com/username/repo.gitде usernameзнаходиться ваше ім’я користувача github та repoяке ім’я вашого сховища.

Якщо ви хочете зберегти пароль (не рекомендується), то URL буде виглядати наступним чином : https://username:password@github.com/username/repo.git.

Також є інший спосіб збереження пароля з цієї довідкової статті github: https://help.github.com/articles/set-up-git#password-caching


Де я можу побачити віддалений URL? У Налаштуваннях -> Віддалений -> URL-адреса порожня. Але мені дали URL-адресу git, коли я
клонуюсь

2
Клацніть на "походження" в меню "Віддалене", щоб відобразити URL
Роберт Рухані

Я думаю, що це працює, але не в змозі перевірити, як я отримую 'git не вийшов чисто (код виходу 128)'
Муралі Муругесан

ой, витягнув URL-адресу зі старого прикладу. Швидкий перегляд одного з моїх репостів показує, що URL-адреса насправді повинна бути такою: https://username@github.com/username/repo.gitде обидва екземпляри username- ваше ім’я користувача. Оновлено відповідь.
Роберт Рухані

1
Це вирішило проблему набагато швидше і більш простим способом: stackoverflow.com/questions/8846972/tortoisegit-asking-password
ShloEmi

25

Жоден із наведених відповідей не працював для мене, використовуючи версію git 1.8.3.msysgit.0 та TortoiseGit 1.8.4.0.

У моїй конкретній ситуації мені доводиться підключатися до віддаленого git repo через HTTPS, використовуючи повноцінну адресу електронної пошти як ім’я користувача. У цій ситуації wincredне виявилося, що працює.

Використання електронної адреси як частини URL-адреси репо також не спрацювало, оскільки програмне забезпечення, як видається, плутається у подвійному появі символу "@" в URL-адресі.

Мені вдалося подолати проблему, використовуючи winstore. Ось що я зробив:

Це скопіює git-credential-winstore.exeфайл у локальний каталог та додасть два рядки до глобального .gitconfig. Ви можете перевірити це, вивчивши свій глобальний .gitconfig. Це найпростіше зробити за допомогою правої кнопки миші в папці "TortoiseGit> Налаштування> Git> Редагувати глобальну .gitconfig". Файл повинен містити два рядки, як-от:

    [credential]
        helper = !'C:\\Users\\yourlogin\\AppData\\Roaming\\GitCredStore\\git-credential-winstore.exe'
  • Інші налаштування TortoiseGit не потрібні в розділі "Мережа" або "Кредитні дані". Зокрема: спадне меню "Помічник довірених даних" у розділі "Кредитні дані" буде порожнім у результаті цих рядків конфігурації, оскільки TortoiseGit не розпізнає нового помічника. Не встановлюйте меню, що випадає, на інше значення, або глобальна .gitconfig буде перезаписана неправильним значенням! (*)

Тепер ви готові піти:

  • Спробуйте витягнути з віддаленого сховища. Ви помітите спливаюче вікно аутентифікації з запитом вашого імені користувача та пароля, спливаюче вікно має бути візуально відмінним від спливаючого меню TortoiseGit за замовчуванням. Це хороший знак і означає winstoreтвори. Введіть правильну автентифікацію, і витяг має бути успішним.
  • Спробуйте те ж саме знову, і ваше ім'я користувача та пароль більше не потрібно запитувати.

Готово! Насолоджуйтесь взаємодією з віддаленим репо, одночасно winstoreпіклуючись про автентифікацію.

(*) Крім того, якщо вам не подобається порожній вибір у меню, що допомагає налаштуванням TortoiseGit Credential, ви можете скористатися параметром "Додатково":

  • Перейдіть до "TortoiseGit> Налаштування> Повноважні дані"
  • Виберіть довідку "Додаткові"
  • Клацніть на "G" (для глобального) у розділі Helpers
  • Введіть шлях помічника, як показано нижче. Примітка: звичайні позначення шляху для Windows (наприклад, "C: \ Users ...") не працюватимуть тут, ви повинні повторити точну лінію, яку встановила winstoreстворена в глобальному масштабі .gitconfбез біта "helper =".

    !'C:\\Users\\yourlogin\\AppData\\Roaming\\GitCredStore\\git-credential-winstore.exe'
    
  • Натисніть кнопку "Додати нову / зберегти"


Ви вказали мені в правильному напрямку. Просто потрібно використовувати "wincred - поточний користувач Windows" та ввести ім'я користувача НЕ електронну адресу. Це все вирішило.
Razze

Я радий, що допомогла тобі на вірному шляху! Однак справа в моєму випадку стосується саме використання електронної адреси. Це містить "@" і спричинить проблеми, якщо ви спробуєте один із інших рецептів.
Патрік Мультфільм

2
Гм,% 40 - це код для "@", тому якщо ви спробували " myEmail%40gmail.com@github.com/username/repo.git ", ви зможете помістити свою адресу електронної пошти у .config Все ще не рекомендується, але, можливо.
Том Паділья

Це правильний, правильний спосіб зробити це. Завантажте інсталятор від Microsoft / Git-Credential-Manager-for-Windows / релізи , потім клацніть setup.exeфайл правою кнопкою миші та запустіть як адміністратор.

8

Для msysgit 1.8.0 завантажте git-poveritel-wincred.exe з https://github.com/downloads/msysgit/git/git-credential-wincred.zip та покладіть у C: \ Program Files \ Git \ libexec \ git -короткі

Для msysgit 1.8.1 і пізніших версій вбудований файл exe.

в git config додайте наступні налаштування.

[довірені дані] helper = wincred


Де ви знайшли Tortoise Git 1.8.1.2? Я бачу лише 1.8.1.0 на їхньому сайті
Кен Сикора

TortoiseGit 1.8.1.2 - це попередній випуск.
зв’язати

8

Збереження імені користувача та пароля за допомогою TortoiseGit

Зберегти свої дані для входу в TortoiseGit досить легко. Економить необхідність вводити своє ім’я користувача та пароль кожен раз, коли ви здійснюєте потягування чи натискання.

  1. Створіть файл під назвою _netrc із наступним вмістом:

    machine github.com
    увійдіть ваш
    пароль для реєстрації yourpassword

  2. Скопіюйте файл на C: \ Users \ (або інше місце розташування; це якраз там, де я його поклав)

  3. Перейдіть до командного рядка, введіть setx home C: \ Users \

Примітка: якщо ви використовуєте щось раніше, ніж Windows 7, команда setx може не працювати для вас. Використовуйте набір замість цього і додайте змінну домашнього середовища в Windows за допомогою Додаткові налаштування в розділі Мій комп'ютер.

КРЕДИТ ДО: http://www.munsplace.com/blog/2012/07/27/saving-username-and-password-with-tortoisegit/


2
Це одне - найкраще рішення! Але чи можете ви пояснити зв’язок між файлом _netrc та git? Чи може цей файл зберігати більше одного царства?
Алекс Беррт


8

Якщо ви користувач Windows 10 + TortoiseGit 2.7:

  1. вперше увійдіть, просто дотримуйтесь підказок, щоб ввести свої облікові дані та зберегти пароль.
  2. Якщо вам колись знадобиться оновити свої облікові дані, не витрачайте час на налаштування TortoiseGit. Натомість пошук у Windows> Менеджер довірених даних> Повноваження Windows> знайдіть свій запис у git> Редагувати.

Це відповідь, яку ви шукаєте, якщо ви змінили пароль Windows, а автентифікація Git більше не працює ... У німецькій Windows знайдіть "Anmeldeinformationsverwaltung".
Андре

ом дякую. я знаю, що ми не повинні додавати коментарі з подякою. але ДЯКУЙ !!
Стівен Хейзел

0

Перейдіть на репост проекту, клацніть правою кнопкою миші -> "Git Bash Here"

У вікні git bash тип

cd ~
pwd

я отримую щось подібне

/c/Users/<windows_username>

Тепер скопіюйте свої відкриті та приватні ключі на цей шлях

C:\Users\<windows_username>\.ssh

я отримав нижче файли

id_rsa
id_rsa.pub
known_hosts

тут

Тепер коли-небудь йому потрібно використовувати облікові дані, він використовує ці файли та при необхідності підкаже пароль.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.