Git을 사용하여 HTTP 및 사용자 비밀번호로 원격 저장소를 복제 할 때 Windows에서 .netrc 파일을 사용할 수 있습니까?
답변
.netrc
Windows 에서 파일 을 사용할 수 있습니까?
예 : 다음을 수행해야합니다.
- 환경 변수 정의
%HOME%
(Git 2.0 이상에서는 더 이상 필요하지 않은 Pre-Git 2.0) _netrc
파일을 넣다%HOME%
Windows 7/10을 사용하는 경우 CMD
세션에서 다음을 입력하십시오.
setx HOME %USERPROFILE%
그리고 %HOME%
‘ C:\Users\"username"
‘ 로 설정됩니다 .
해당 폴더 ( cd %HOME%
)로 이동하여 ‘ _netrc
‘
참고 : 다시, Windows 용, 당신은 ‘필요 _netrc
‘파일, 하지 에 ‘ .netrc
‘파일을.
내용은 매우 표준입니다 ( <examples>
값으로 대체 ).
machine <hostname1>
login <login1>
password <password1>
machine <hostname2>
login <login2>
password <password2>
누가 는 주석에서 언급합니다.
Windows 7에서 최신 버전의 msysgit을 사용하면
HOME
환경 변수 를 설정할 필요가 없습니다 ._netrc
파일은 혼자 트릭을했다.
이것은 실제로 ” install
“github, .ssh
dir not there ” 에서 언급 한 것입니다 :
git-cmd.bat
msysgit에 포함 된 것은 %HOME%
환경 변수를 설정합니다 :
@if not exist "%HOME%" @set HOME=%HOMEDRIVE%%HOMEPATH%
@if not exist "%HOME%" @set HOME=%USERPROFILE%
爱国者는 “http 프로토콜에서는 작동하지 않는 것 같습니다”라는 의견을 믿습니다.
그러나 나는 이 예제 에서 볼 수 있듯이,에서 netrc
사용하고 curl
HTTP 프로토콜에서 작동 한다고 대답했습니다 ( 페이지에서 ‘ ‘를 찾으십시오 ). HTTP 프로토콜과 함께 사용됩니다 : ” / alternative to “.netrc
_netrc
.netrc
cURL
netrc
Windows 에서 지원 되는 일반적인 트랩 은 origin https url이 사용자 이름을 지정하면 git이이를 사용하지 않는 것입니다.
예를 들어 .git/config
파일에 다음이 포함 된 경우
[원격 "원산지" 가져 오기 = + refs / heads / * : refs / remotes / origin / * url = https : //bob@code.google.com/p/my-project/
Git은을 통해 자격 증명을 해결하지 _netrc
않으므로 다음과 같이 사용자 이름을 제거하십시오.
[원격 "원산지" 가져 오기 = + refs / heads / * : refs / remotes / origin / * url = https://code.google.com/p/my-project/
대체 솔루션 :와 자식 버전 1.7.9+ (2012 년 1 월) : 이 답변 에서 마크 Longair가 세부 자격 증명 캐시 메커니즘 또한 당신이 할 수 없는 아래와 같이 일반 텍스트 암호를 저장합니다.
함께 힘내 1.8.3 (2013 년 4 월) :
이제 암호화 된 .netrc (를 사용하여)를 사용할 수 있습니다 gpg
.
Windows의 경우 : %HOME%/_netrc
( _
‘, not’ .
‘)
파일 과 상호 작용하기 위한 새로운 읽기 전용 자격 증명 도우미 (
contrib/
).netrc/.authinfo
가 추가되었습니다.
이 스크립트를 사용하면 자격 증명이 일반 텍스트 파일에 저장되는 문제를 피하면서 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
“
Git 2.18+ (2018 년 6 월)를 사용하면 암호화 된 .netrc
파일의 암호를 해독하는 데 사용되는 GPG 프로그램을 사용자 지정할 수 있습니다 .
Luis Marsano (“)의 commit 786ef50 , commit f07eeed (2018 년 5 월 12 일)를 참조하십시오 . ( Junio C Hamano 에 의해 병합 – 커밋 017b7c5 , 2018 년 5 월 30 일)
gitster
git-credential-netrc
:gpg
옵션을 수락
git-credential-netrc
gpg
gpg.program 옵션에 관계없이 ‘ ‘ 로 해독하도록 하드 코딩되었습니다 .
이것은 데비안과 같은 배포판에서 현대 GnuPG를 ‘gpg2
‘
답변
Windows 용 Git 자격 증명 관리자를 설치 하여 대신 Git 암호를 Windows 자격 증명 관리자에 저장할 수도 있습니다 _netrc
. 이것은 암호를 저장하는보다 안전한 방법입니다.
답변
이를 통해 Git은 다음을 사용하여 HTTPS에서 인증 할 수 있습니다 .netrc
.
- 이 파일 이름을 지정해야합니다
_netrc
및 위치c:\Users\<username>
. HOME=%USERPROFILE%
(제어판의 시스템 옵션을 사용하여 시스템 전체 환경 변수 설정) 환경 변수를 설정해야합니다 . Windows 버전에 따라 “고급 옵션”을 선택해야 할 수도 있습니다._netrc
파일에 저장된 암호는 공백을 포함 할 수 없습니다 (암호를 인용하면 작동하지 않습니다).
답변
_netrc
www.course.com 사이트에서 자료를 다운로드 하는 데 사용하는 방법을 게시 하고 있습니다.
누군가 코스 라 dl을 사용하여 www.coursera.com 및 Windows OS에서 오픈 클래스 자료를 다운로드하려는 경우 누군가는 유닉스 OS와 같은 “.netrc”와 같은 파일을 사용하여 편의성 -n
대신에 옵션 -U <username> -P <password>
. 다음과 같이 할 수 있습니다.
-
Windows OS의 홈 경로를 확인하십시오
setx HOME %USERPROFILE%
( VonC의 답변 참조 ).HOME
환경 변수를로 저장합니다C:\Users\"username"
. -
디렉토리를
C:\Users\"username"
찾아 파일 이름을 작성하십시오_netrc
. 참고 : 접미사가 없습니다.
내용은 다음과 같습니다machine coursera-dl login <user> password <pass>
-
coursera-dl -n --path PATH <course name>
수업 자료를 다운로드하는 것과 같은 명령을 사용하십시오 . 이 페이지에 대한 더 많은 coursera-dl 옵션 세부 사항 .