端くれプログラマの備忘録 Git [Git] ユーザ名とパスワードの入力を省略する

[Git] ユーザ名とパスワードの入力を省略する

共有リポジトリにhttps接続する想定。

現状はユーザ名もパスワードも聞いてくる。

$ git pull --all
Fetching origin
Username for 'https://github.com': username
Password for 'https://username@github.com':
Already up-to-date.

ユーザ名の入力を省略する

$ cd .git
$ vi config
[remote "origin"]
url = https://username@github.com/username/project.git
fetch = +refs/heads/*:refs/remotes/origin/*

usernameがメアドなど@を含む場合は、@をURLエスケープして%40と書く。

これでユーザ名を聞いてこなくなる。

$ git pull --all
Fetching origin
Password for 'https://username@github.com':
Already up-to-date.

パスワードの入力を省略する

パスワードを平文でテキストファイルに保存するように設定する。パスワードはデフォルトで ~/.git-credentials に平文で保存される。セキュリティを重視するならばキャッシュに保存した方が良い。詳しくは参考サイトを参照のこと。

以下のコマンドでパスワード保存を設定。

$ git config credential.helper store

直後のコマンドではパスワードを聞いてくる。

$ git pull --all
Fetching origin
Password for 'https://username@github.com':
Already up-to-date.

入力したパスワードが保存されて、以降のコマンドではパスワードを聞いてこなくなる。

$ git pull --all
Fetching origin
Already up-to-date.

参考サイト

Git – 認証情報の保存
https://git-scm.com/book/ja/v2/Git-%E3%81%AE%E3%81%95%E3%81%BE%E3%81%96%E3%81%BE%E3%81%AA%E3%83%84%E3%83%BC%E3%83%AB-%E8%AA%8D%E8%A8%BC%E6%83%85%E5%A0%B1%E3%81%AE%E4%BF%9D%E5%AD%98

git を https 経由で使うときのパスワードを保存する – Qiita
https://qiita.com/usamik26/items/c655abcaeee02ea59695