Basic認証がかかっているリポジトリにgit・hgコマンドやTortoiseGit・TortoiseHgでアクセスする際、毎回認証画面が出て、ユーザ名とパスワードを聞かれる。これを自動化する方法。
Gitの場合
追記 ==================
Git 1.7.9以上であれば「Credential helper」を使うことでnetrcを使わずにすむようです。
GitをHTTP経由で使うときのパスワードを安全に扱いたい – idesaku blog –
使ってみました。
git credential helperを使ってHTTP越しで認証がかかっているリポジトリにアクセスする | misty-magic.h
======================
参考:Tempus – 昨今明日: git リポジトリを HTTP で公開する設定でハマリました
gitのHTTP認証に絶望した! – 永遠に未完成
Git – How to use .netrc file on windows to save user and password – Stack Overflow
ホームディレクトリにnetrcファイルを作成し、認証情報を書く
設定ファイルの位置
- $HOME/.netrc(Linux)
- C:\Documents and Settings\ユーザ名\_netrc (Windows XP以前)
- C:\Users\ユーザ名\_netrc (Windows Vista以降)
Windowsで環境変数HOMEが定義されていれば上記より優先される。
ファイルは他人に読まれないようにする。
記述内容
machine リポジトリホスト名 login HTTP認証のユーザ名 password HTTP認証のパスワード これを1セットとして、アクセスするサーバ分連ねていく
例)
リポジトリURLがhttp://example.jp/repos/git/~となっているとき
machine example.jp login username password userpass
Mercurial(hg)の場合
ホームディレクトリにある設定ファイルにauthセクションを追加する
設定ファイルの位置
- $HOME/.hgrc(Linux)
- C:\Documents and Settings\ユーザ名\Mercurial.ini (Windows XP以前)
- C:\Users\ユーザ名\Mercurial.ini (Windows Vista以降)
Windowsで環境変数HOMEが定義されていれば上記より優先される。
ファイルは他人に読まれないようにする。
記述内容
[auth] 識別子.prefix = リモートリポジトリのURLの接頭部分 識別子.username = HTTP認証のユーザ名 識別子.password = HTTP認証のパスワード
識別子は適当な名前をつける、これをアクセスするサーバ分連ねていく。
識別子.prefixにマッチするusernameとpasswordが認証に使われる。
例)
リポジトリURLがhttp://example.jp/repos/hg/~となっている場合、識別子とhogeとして
[auth] hoge.prefix = http://example.jp/repos/hg/ hoge.username = username hoge.password = userpass
“Basic認証がかかっているリポジトリにgit・hgでアクセスする際、ユーザ名とパスワードを保存する方法” への3件のフィードバック