問題
普段は public repository にソースコードを保管しているが、誰でもみれることが好ましくない場合に遭遇し、private repository を作る。
しかし、Private repository へ git clone などのクライアントからの操作を行う場合は、Personal Access Token を発行し、パスワードに設定する必要があった。repository ごとにPersonal Access Token を発行するのは面倒なので解決した。
解決方法
以下を実行するだけ。
git config --global url.https://<username>:<personal access token>@github.com/.insteadOf https://github.com/
追記
git credential-helper を利用する方法を知った。
以下のコマンドで設定できる。
git config --global credential.helper store
- store: 認証情報を平文で保存する。デフォルトで ~/.git-credentials に保存される。
- cache: 認証情報を一時的にメモリに保存する。デフォルトで15分間保存される。
git clone するときに password として Personal Access Token を入力すると、次回以降は ~/.git-credentials から自動的に読み込まれる。--global オプションを付けることで、そのホストのそのユーザが扱うすべてのリポジトリで共通して利用できる。また、色々なオリジンに対しても自動的にトークンを切り替えてくれる。
ただし、平文で保存されるので、セキュリティには気を付けた方が良い。デフォルトの credential helper 以外にも、OS のキーチェーンを利用する方法などがあるので、そちらも検討すると良い。