Дополнительно
Для Git push требуется имя пользователя и пароль
Я клонировал Git-репозиторий из своей учетной записи GitHub на свой компьютер.
Я хочу работать как с ПК, так и с ноутбуком, но с одной учетной записью GitHub.
Когда я пытаюсь нажать или вытащить из GitHub с помощью ПК, он требует имя пользователя и пароль, но не при использовании ноутбука!
Я не хочу вводить свое имя пользователя и пароль каждый раз, когда я взаимодействую с origin. Что я здесь упускаю?
1319
20
Распространенной ошибкой является клонирование с использованием протокола по умолчанию (HTTPS) вместо SSH. Вы можете исправить это, зайдя в свой репозиторий, нажав "Клонировать или загрузить", затем нажав кнопку "Использовать SSH" над полем URL и обновив URL вашего удаленного источника следующим образом:
Это документировано на GitHub: Switching remote URLs from HTTPS to SSH.
Постоянно аутентификации с репозиториями git.
Выполните следующую команду, чтобы включить кэширование учетных данных:
Вы должны также указать кэширование истекает,
После включения кэширования учетных данных, он будет кэшироваться 7200 секунд (2 часа).
Я только что столкнулся с той же проблемой, и самым простым решением, которое я нашел, было использование SSH URL вместо HTTPS:
А не этот:
Теперь вы можете проверять с помощью только ключа SSH вместо
имени пользователя
ипароля
.Помимо изменения для СШ вы также можете продолжать использовать протокол HTTPS, если вы не'т ум, чтобы положить пароль в виде открытого текста. Положите это в ваш~/.netrc ПО и он выиграл'т просить Ваш логин/пароль (по крайней мере на Linux и Mac):
Дополнение (см. VonC's во-вторых, комментарий): на Windows имя файла
%дома%_netrc\
.Также читайте VonC'Первый комментарий в случае, если вы хотите зашифровать.
Еще одно дополнение (см. user137717'ы комментарий), которые вы можете использовать, если у вас есть мерзавец 1.7.10 или новее.
Кэш на GitHub пароль в Git используя удостоверение помощника:
Это также работает на Linux, Mac и Windows.
Для непосвященных, кого смущает предыдущие ответы, вы можете сделать:
Что ответит что-то вроде
Затем можно выполнить команду многие другие предложили, но теперь вы знаете вашеимя и yourrepo сверху, так что вы можете просто вырезать и вставить
вашеимя/yourrepo.ГИТ
от указанных в:Если вы're через SSH и ваш закрытый ключ защищен паролем, то вы'll по-прежнему будет предложено ввести пароль/пароль для закрытого ключа, когда вы делаете сетевых операций с Git,, как
толчок
,тянуть
, и "взять".Использовать SSH-агента для сохранения закрытого ключа/пароля
Если вы хотите, чтобы избежать необходимости вводить ваш пароль каждый раз, вы можете использовать SSH-агента, чтобы сохранить ваш пароль для закрытого ключа учетные данные один раз в терминальной сессии, как я объясняю в разделе Мой ответ не удалось открыть подключение к аутентификации агентов:
В Windows msysgit Баш, нужно оценить результат `SSH-агента, но я'м не уверен, если вы должны сделать то же самое в других средах разработки и операционных системах.
СШ-добавить
ищет секретного ключа в ваш дом.папка СШназывается
id_rsa`, который является именем по умолчанию, но вы можете пройти путь к ключу с другой фамилией.Убивает агент
Когда вы'повторно сделали с вашей терминальной сессии, вы можете выключение
SSH-агента
с убейте флаг-к
:Как объяснено в
SSH-агента
руководство:Таймаут
Кроме того, он может принимать необязательный параметр timeout вот так:
где в
<тайм-аут>
в формате<п>H
Для в<п>
часов,<п>м
в в `<п> минут, и так далее.Согласно
SSH-агента
руководство:См. эту страницу для более форматы времени.
Предупреждение безопасности под Cygwin пользователи
Пользователи с Cygwin должен быть в курсе потенциальный риск безопасности с помощью SSH-агента в Cygwin:
На вышеуказанной ссылке]7:
Источник: Настроить Git
Следующая команда позволит сохранить пароль в памяти в течение некоторого времени (для мерзавец 1.7.10 или новее).
Когда вы используете https протоколу для Git тянуть & толкать, просто настроить пульт.происхождения.URL-адрес для вашего проекта, чтобы избежать ввода имени пользователя (и пароль) каждый раз, когда вы нажимаете.
Как настроить пульт.происхождения.адресу: в <предварительно> Формат URL: протокол HTTPS://{имя пользователя:пароль@}github.com/{владелец}/{РЕПО}
Параметры в URL:
е.г ГИТ конфиг удаленного.происхождения.https://eric@github.com/eric/myproject URL-адрес
</пред>
@Обновлений - используя
СШ
Я думаю, что с помощью
СШ
протокол-это лучшее решение, чем сHTTPS
, даже если шаг установки немного усложняется.Грубые шаги:
SSH-ключей
на Linux, на msysgit для Windows `` предоставляющих аналогичные команды.~/.СШ
. И добавить его в агент SSH черезСШ-добавить
командная.СШ
стиль, например,git@gitlab.com:myaccount/myrepo.git
Советы:
@Обновление - переключение между
протокол HTTPS
иСШ
протокол.Просто меняется удаленных.происхождения.URL-адрес будет достаточно, или вы можете редактировать repo_home/.в git/config файл напрямую изменить значение (например.G помощью
ви
на Linux).Обычно я добавить строку для каждого протокола, и закомментируйте один из них с помощью
#
.Е. Г.
в <предварительно> [пульт и"происхождения" и] URL-адрес = git@gitlab.com:myaccount/myrepo.git
URL-адрес = https://myaccount@gitlab.com/myaccount/myrepo.git
</пред>
Можно кэшировать на GitHub пароль в Git:
Просто следуйте инструкциям из GitHub'ы официальные документы.
После следуя инструкциям по ссылке выше, вы должны быть в состоянии толкать/тянуть/из репозитория, не вводите свой логин/пароль каждый раз.
Здесь'с другим вариантом:
Вместо того, чтобы писать
Вы могли бы написать:
Очевидно, большинство снарядов в результате пароль кэширования в истории, так что имейте это в виду.
Что работал для меня было изменить.в git/config и использовать
Само собой разумеется, что это небезопасный способ хранения пароля, но есть сред/случаях, когда это не может быть проблемой.
В принципе, у вас есть два варианта.
Если вы используете одного и того же пользователя на обеих машинах, вам нужно скопировать ключ .pub на свой компьютер, чтобы GitHub знал, что вы один и тот же пользователь.
Если вы создали новый файл .pub для своего ПК и хотите рассматривать машины как разных пользователей, вам нужно зарегистрировать новый файл .pub на сайте GitHub.
Если это все еще не работает, возможно, причина в том, что ssh настроен неправильно, и ssh не может найти местоположение ваших ключей. Попробуйте
Чтобы получить больше информации о том, почему SSH не работает.
Обновление для HTTPS:
На GitHub запустил новую программу для Windows, которая хранит ваши учетные данные, когда вы'повторно через HTTPS:
Использовать:
Скачать программу с ЗДЕСЬ
Как только вы запустите программу, она будет редактировать
.файл gitconfig хранит настройки
. Проверьте, если это исправили.gitconfig хранит настройки в случае, если у вас их несколько. Если это не'т изменение правильным, добавьте следующие строки в ваш
.gitconfig хранит настройки`[учетных] помощник = !'C:\Path\To\Your\Downloaded\File\git-credential-winstore.exe'
Обратите внимание на разрыв строки после
[учетных]
. Он требуется.Если ключ SSH или
.файл netrc по
не работает для вас, то еще один простой, но менее надежное решение, которые могли бы работать на вас ГИТ-учетных-магазин - помощник для хранения учетных данных на диск:По умолчанию учетные данные будут сохранены в файле `~/.ГИТ-полномочий. Он будет создан и записан.
Обратите внимание, используя этот помощник будет хранить ваши пароли в незашифрованном виде на диске, защищены только разрешения файловой системы. Если это не может быть приемлемым компромиссом безопасности.
Для пользователей Git для Windows, после команды `git файл config --глобальные учетные данные.помощник магазин, если он все равно запрашивает пароль, вы'd лучше проверить где файл конфигурации записывается, используя эту команду
В моем случае, после настройки вручную редактировать файл 'C:\Program файлы\ГИТ mingw64\и т. д.\gitconfig хранит настройки', и добавляете следующий текст, это сработало.
У меня был тот же вопрос.
Так что я изменил `.файл git/config файл из моего проекта,
для
и добавил публичный ключ SSH для профиля ГИТ, которая в обстановке.
На открытый ключ SSH:
Вам нужно выполнить два шага -
git удаленного удаления происхождения
в Git дистанционного добавить git@github.com:NuggetAI/nugget.git происхождения
Обратите внимание на URL-адрес по SSH Git-это URL-адрес, а не URL-адрес https... которые вы можете выбрать здесь:
Обновление конфигурации файл git напрямую (если вы не хотите запоминать необычные команды):
Открыть свой
.файл git/config файл в вашем любимом текстовом редакторе. Он будет в папку, которую вы клонировали или в репозитории, выполненные инициализации ГИТ в. Заходим в этот репозиторий.
.ГИТ-это скрытая папка, и нажав <и>сочетание клавиш Ctrl</роз> + <и>ч</роз> должна показывать скрытые папки (командыls -a
в терминале).Ниже приведен пример
.файл git/config файл
. Скопировать и вставить эти строки, и обязательно обновить эти строки с вашими данными ЖКТ.Изменить часть URL в следующем формате для СШ:
(Указанные выше форматы не меняются с различных удаленных серверах ЖКТ, как GitHub или Bitbucket. Это'е: если вы используете Git для контроля версий):
Примечание: для SSH-подключения к удаленным git-репозиторием потребует от вас, чтобы добавить свой публичный ключ SSH к удаленному git-сервер (как GitHub или Bitbucket. Поиск на странице настроек для ключей SSH).
Чтобы знать, как генерировать ваши ключи SSH, см: Создать ключи SSH
Это то, что работал для меня:
Пример:
Если вы используете Git (например, git Баш) под Windows (и если вы Don'т хотим, чтобы переключиться с HTTPS и SSH), вы также можете использовать диспетчер учетных данных в Git для Windows
Это приложение будет сохранить имя пользователя и пароль для вас...