2017-05-24 5 views
0

그래서 libgit2 함수를 사용하여 리모컨에 연결하고 git push를 수행합니다. 개인 저장소에 푸시하고 싶기 때문에 자격 증명을 설정해야합니다.처음으로 자격 증명 설정 (libgit2)

예를 들어, git 명령을 통해 개인 저장소로 작업 할 때 처음으로이 저장소에 연결하려면 자격 증명을 입력해야하지만 그 다음에 두 번째, 세 번째 시간이 지나면 컴퓨터를 다시 시작할 때 해당 자격 증명을 다시 쓸 필요가 없습니다. "알려진 저장소"가 자신의 자격 증명과 함께 저장되는 곳이 있습니다.

그리고 내 질문은 libgit2를 사용하여이를 수행하는 방법이 있습니까? 내 말은, 자격 증명을 설정하지 않고 "알려진"개인 원격 저장소로 푸시하는 방법이 있습니까? "알려진"은 내가 이미 작업 한 저장소를 의미하므로 이미 자격 증명을 설정했습니다.

많은 리포지토리에서 작업하고 싶습니다. 각 리포지토리에는 고유 한 자격 증명이 있으므로 수동으로 자격 증명을 수동으로 설정하지 않으려합니다. . 나는 자격 증명을 설정하지 않고 밀어 넣기를 수행 할 때

,이 오류 메시지가

요청 상태 코드로 실패 표시 ("알려진"의 repo에 밀어) : 401

그래서 방법이, 어떻게하지 설정 내가 누를 때마다 신분증?

답변

1

명령 줄 git에는 기본 플랫폼 API를 사용하여 자격 증명을 안전하게 저장하는 자격 증명 도우미 세트가 있습니다. Mac에서는 Keychain, Windows에서는 Windows Credential Manager, Linux에서는 gnome-keyring 및 libsecret을 사용하는 자격 증명 도우미가 있습니다. 자세한 내용은 the chapter on credential helpers in the git book을 참조하십시오.

Libgit2에는 암호를 안전하게 저장하기위한 유사한 추상화가 없습니다. 아마도 그렇게해야합니다. 대신 응용 프로그램은 암호를 저장하기 위해 다양한 원시 API를 조정 한 다음 사용자 이름 및 호스트 이름 매개 변수를 기반으로 libgit2 자격 증명 콜백에 제공 할 수 있습니다.