gitのユーザー名とパスワードを省略するようにする

gitでpushなどするときに毎回ユーザー名とパスワードを求められて少々面倒なので省略できるようにする。
/etcをgitのリポジトリに追加したのでここのgitの設定を変更する。

方法

ユーザー名の省略

/etc.git$ sudo vi config

でconfigファイルを開き、//のあとにuser_name@を追加する。

[remote "origin"]
        url = https://user_name@github.com/user_name/repository_name.git

パスワードの省略

パスワードはユーザー名の省略の設定の時にuser_name@をuser_name:password@としても良いが、平文で保存されるためセキュリティ的によくないのでキャッシュに保存するようにする。

$ sudo git config credential.helper cache

これを実行するとなにもメッセージは表示されない。
sudo git pullなどしてみると最初の1回はパスワードの入力を求められるが、次から一定時間入力不要になる。
デフォルトでは900秒間となっている。

時間を変更するためにはこちらを実行する。
例:3600秒のとき

git config --global credential.helper 'cache --timeout=3600'

storeは無制限に入力不要となるが、ディスクに平文で保存されるデメリットがある。

$ sudo git config credential.helper store

これらの情報は.git/configに書かれている。

[credential]
        helper = cache

参考

git-scm.com