Можно ли использовать файл .netrc для Windows, когда я использую Git для клонирования удаленного репозитория с помощью http и user-password?
Git - Как использовать .netrc файл в окнах для сохранения пользователя и пароля
Ответ 1
Обновить Апрель 2013, git 1.8.3:
Теперь вы можете использовать зашифрованный .netrc (с gpg).
A новый помощник учетных данных только для чтения (в
contrib/
) для взаимодействия с.netrc/.authinfo
файлы добавлены.
Что script позволит вам использовать gpg-зашифрованные файлы netrc, избегая проблемы с вашими учетными данными, хранящимися в текстовом файле.
Файлы с расширением
.gpg
будут дешифрованы GPG перед разбором.
Несколько аргументов-f
в порядке. Они обрабатываются по порядку, и первая найденная совпадающая запись возвращается через вспомогательный протокол учетных данных.Если параметр
-f
не указан,.authinfo.gpg
,.netrc.gpg
,.authinfo
и.netrc
файлы в вашем домашнем каталоге используются в этом порядке.
Чтобы включить этот вспомогательный помощник:
git config credential.helper '$shortname -f AUTHFILE1 -f AUTHFILE2'
(Обратите внимание, что git будет добавлять "
git-credential-
" к имени помощника и искать его в пути.)
# and if you want lots of debugging info:
git config credential.helper '$shortname -f AUTHFILE -d'
#or to see the files opened and data found:
git config credential.helper '$shortname -f AUTHFILE -v'
Посмотрите полный пример на странице Есть ли способ пропустить ввод пароля при использовании https:// github
"
Обновление в конце 2012 года, с git версии 1.7.9 +: Этот ответ из Mark Longair детализирует механизм кэширования учетных данных, который позволяет не хранить ваш пароль в виде простого текста как показано ниже.
(Оригинальный ответ)
Вы должны определить:
- переменная окружения
%HOME%
- поместите файл
_netrc
в%HOME%
Если вы используете Windows 7
запустите cmd введите это:
setx HOME %USERPROFILE%
и% HOME% будет установлен на 'C:\Users\"username"
'
тогда перейдите к нему
и создайте файл под названием '_netrc
'
Примечание. Для Windows вам нужен файл "_netrc
", а не ".netrc
".
Его содержание довольно стандартное (замените его вашими значениями):
machine <hostname1>
login <login1>
password <password1>
machine <hostname2>
login <login2>
password <password2>
Luke упоминает в комментариях:
Используя последнюю версию msysgit в Windows 7, мне не нужно было устанавливать переменную среды HOME. Только файл
_netrc
сделал трюк.
Это действительно то, о чем я упоминал в " Пытаясь" install
"github, .ssh
dir не существует": git-cmd.bat
, включенный в msysgit, устанавливает переменную среды% HOME%:
@if not exist "%HOME%" @set HOME=%HOMEDRIVE%%HOMEPATH%
@if not exist "%HOME%" @set HOME=%USERPROFILE%
爱国者 верит в комментарии, что "похоже, что он не будет работать для протокола http"
Однако я ответил, что netrc используется curl и работает для протокола http, как показано в в этом примере (ищите 'netrc 'на странице):. Также используется с протоколом http здесь: " _netrc
/.netrc
альтернатива cURL
".
Общей ловушкой с поддержкой netrc в Windows является то, что git обходит ее, если источник https url указывает имя пользователя.
Например, если ваш файл .git/config
содержит:
[remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/* url = https://[email protected]/p/my-project/
git не разрешит ваши учетные данные с помощью _netrc
, чтобы исправить это, удалите свое имя пользователя, например:
[remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/* url = https://code.google.com/p/my-project/
Ответ 2
Вы также можете установить Git Диспетчер учетных данных для Windows для сохранения паролей Git в диспетчере учетных данных Windows вместо netrc. Это более безопасный способ хранения пароля
Ответ 3
Это позволит git пройти проверку подлинности на https, используя .netrc
- Файл должен иметь имя
_netrc
и расположен вc:\Users\<username>
- Вам нужно будет установить переменную среды с именем
HOME=%USERPROFILE%
(Установить общесистемные переменные среды, используя параметр "Система" на панели управления. В зависимости от версии Windows вам может потребоваться выбрать "Дополнительные параметры" ) - Пароль, хранящийся в файле
_netrc
, не может содержать пробелы (при этом пароль не будет работать)
Ответ 4
Отправьте способ использования _netrc
, чтобы загрузить материалы с сайта www.course.com. Я надеюсь, что некоторые помогут вам.
Если кто-то собирается использовать coursera-dl для загрузки материалов открытого класса на www.coursera.com. и ON WINDOWS OS кто-то хочет использовать такой файл, как ".netrc", который находится в OS-Unix для добавления опции -n вместо -U -P для удобства. Он может сделать вот так:
-
проверьте домашний путь в ОС Windows:
setx HOME %USERPROFILE%
(обратитесь: VonC answer).it сохранитHOME
какC:\Users\"username"
. -
найдите в каталоге
C:\Users\"username"
и создайте имя файла_netrc
. ПРИМЕЧАНИЕ: нет никакого суффикса. содержимое похоже на:machine coursera-dl login <user> password <pass>
-
используйте команду, например
coursera-dl -n --path PATH <course name>
, чтобы загрузить материалы класса. подробнее подробности coursera-dl для эта страница.