Amazon Linux (AWS - EC2)で確認しました。
ユーザ名のみ省略する方法
1. clone済のリポジトリの設定を変更する場合
{cloneしたリポジトリDir}/.git/config
を編集します。
[remote "origin"]
項目のurl
にusername@
を追加する。
[remote "origin"]
url = https://username@github.com/username/repository.git
2. git cloneするURLに埋め込む(新規でclone
する場合)
git clone https://username@github.com/username/repository.git
ユーザ名・パスワード両方省略する方法
1. ~/.netrc
にユーザ名/パスワードを書く
machine github.com
login username
password xxxxxxx
2. url
にusername:password@
を追加
{cloneしたリポジトリDir}/.git/config
を編集します。
[remote "origin"]
項目のurl
にusername:password@
を追加する。
[remote "origin"]
url = https://username:password@github.com/username/repository.git
username
かpassword
に@
が含まれている場合は、%40
(エンコードした値)を使えば通るようです。
他の記号(&
など)は\
でエスケープできるようです。
※セキュリティ的に心配なのでこちらの方法は試してません。どちらの方法にしても、ファイルに生のパスワードを書かないといけないので、セキュリティ上やらないほうがいいと思います。
特に、2番めのURLにパスワードを追加する方法は、HTTPSとは言えURLにパスワードが含まれてしまうので、パスワードを生でインターネット上に送信しているようなものなんじゃないかと思います。
設定の優先度
両方設定した場合、~/.netrc
の設定が優先されます。
優先度としては、~/.netrc
> .git/config
という感じのようです。
例えば、
- ユーザ名のみの設定(
.git/config
)
[remote "origin"]
url = https://username@github.com/username/repository.git
と
- ユーザ名・パスワードの設定(
~/.netrc
)
machine github.com
login username
password xxxxxxx
の両方を設定した場合、ユーザ名・パスワード両方省略されました。