Налаштування користувача та пароля за допомогою Git Bash


96

Я використовую Git Bash у Windows 7. Ми використовуємо GitHub як джерело нашого сховища.

Кожного разу, коли я натискаю або тягну, я повинен надати облікові дані користувача та пароля. Я знаю, що мої SSH-ключі налаштовані правильно, інакше я не зміг би отримати доступ до сховища. (Тобто, як тільки я вводжу свої облікові дані, push-pull працює правильно.)

Я увійшов

git config --global user.name myusername
git config --global user.email myemail
git config --global github.user myusername
git config --global github.token mytoken

Але тим не менше мене просять посвідчення кожного разу, коли я натискаю / тягну.


2
Подивіться на ... stackoverflow.com/questions/5343068 / ...
SteveC

Відповіді:


66

Переконайтеся, що ви використовуєте URL-адресу SSH для сховища GitHub, а не URL-адресу HTTPS. Він запитає ім’я користувача та пароль, коли ви використовуєте HTTPS, а не SSH. Ви можете перевірити файл .git/configабо запустити git config -eабо git remote show originперевірити URL-адресу та змінити її, якщо потрібно.


19
Я не можу використовувати SSH через внутрішні правила брандмауера (не питайте ...) Чи є інший спосіб дозволити git авторизуватися автоматично?
Йорн

62

З Git Bash я волію запускати команду:

git config --global credential.helper wincred

На той момент запустивши таку команду, як git pullі ввівши свої облікові дані, потрібно зберегти їх для подальшого використання. Git має вбудовану систему облікових даних, яка працює в різних середовищах ОС. Детальнішу інформацію можна отримати тут: 7.14 Git Tools - сховище облікових даних


Чи існує альтернатива Linux, чи це також працює для Linux?
Продано

1
git config --global credential.helper cache help.github.com/en/github/using-git/…
Сем Суссман

У мене нічого не працювало. Я збожеволів! Я перевстановив Git і спробував це, і це спрацювало як шарм. Дякую!!!
LTV

Працював і з консолі win10 cmd
dimplex

51

Для тих, хто використовує маркер доступу та середовище Windows, існує простий спосіб зробити це:

Меню «Пуск» → « Диспетчер облікових даних» → « Відомості Windows» → знайдіть рядок (Git: https: // whatever / your-repository / url) → редагувати, ім’я користувача «PersonalAccessToken», а пароль - маркер вашого доступу.


2
Яка економія часу! Дякую!!
Ріоріо

12

Якщо ви користувач Mac і у вас увімкнено брелок, вам потрібно буде видалити інформацію про авторизацію, яка зберігається в ланцюжку ключів:

- Open up Keychain access
- Click "All items" under category in the left-hand column
- Search for git
- Delete all git entries.

Тоді вам слід змінити своє ім’я користувача та електронну адресу з терміналу, використовуючи git config:

$ git config --global user.name "Bob"

$ git config --global user.email "bob@example.com"

Тепер, якщо ви спробуєте натиснути на сховище, вас попросять ввести ім’я користувача та пароль. Введіть облікові дані для входу, на які ви намагаєтесь переключитися. Зазвичай ця проблема виникає, якщо ви ввійшли в GitHub у браузері, використовуючи інше ім’я користувача та пароль або раніше переключені облікові записи на своєму терміналі.


Це мені допомогло. Хоча немає необхідності видаляти записи git, ви можете редагувати їх тут же.
herrmartell

2

додати віддалений як:

git remote add https://username:password@github.com/repodir/myrepo.git

1

Спробуйте ssh-agent для встановлення ключа SSH для використання з Git. Він повинен автоматично входити в систему після використання парольної фрази.


1

З git bash для Windows мені працювала наступна комбінація інших відповідей (репозиторій перевірявся за допомогою клієнта GitHub, тобто https, а не ssh):

  1. Створіть персональний маркер доступу
  2. Почніть сеанс git bash у вашому репо
  3. бігти git config --global credential.helper wincred
  4. бігти git pull
  5. надайте PersonalAccessToken як ім’я користувача
  6. надайте в якості пароля особистий маркер доступу

0

Якщо ваше репозиторій є репозиторієм HTTPS, git config -e дайте цю команду в git bash. Оновіть ім'я користувача та пароль, відкривши в режимі вставки, змініть пароль або ім'я користувача: клавіші x та Cntrl + z збережуть і вийдуть

Отже, з того часу, коли ви тягнете / штовхаєте код до сховища, він не буде запитувати пароль.


0

Я написав відповідь всередині цього посилання ;

Тим не менше, я ділюсь цим і тут.

Змінити ім’я користувача та електронну адресу глобально

git config --global user.name "<username>"
git config --global user.email "<email>"

Змінити ім’я користувача та електронну адресу для поточного репо

git config  user.name "<username>" --replace-all
git config  user.email "<email>" --replace-all
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.