Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
301
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

@azusanakano

GitHubでユーザ名・パスワード省略(push, pull)

Amazon Linux (AWS - EC2)で確認しました。

ユーザ名のみ省略する方法

1. clone済のリポジトリの設定を変更する場合

{cloneしたリポジトリDir}/.git/configを編集します。

[remote "origin"]項目のurlusername@を追加する。

.git/config
[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にユーザ名/パスワードを書く

~/.netrc
machine github.com
login username
password xxxxxxx

2. urlusername:password@を追加

{cloneしたリポジトリDir}/.git/configを編集します。

[remote "origin"]項目のurlusername:password@を追加する。

.git/config
[remote "origin"]
  url = https://username:password@github.com/username/repository.git

usernamepassword@が含まれている場合は、%40 (エンコードした値)を使えば通るようです。
他の記号(&など)は\でエスケープできるようです。

※セキュリティ的に心配なのでこちらの方法は試してません。どちらの方法にしても、ファイルに生のパスワードを書かないといけないので、セキュリティ上やらないほうがいいと思います。
特に、2番めのURLにパスワードを追加する方法は、HTTPSとは言えURLにパスワードが含まれてしまうので、パスワードを生でインターネット上に送信しているようなものなんじゃないかと思います。

設定の優先度

両方設定した場合、~/.netrcの設定が優先されます。

優先度としては、~/.netrc > .git/configという感じのようです。

例えば、

  • ユーザ名のみの設定(.git/config
.git/config
[remote "origin"]
  url = https://username@github.com/username/repository.git

  • ユーザ名・パスワードの設定(~/.netrc
~/.netrc
machine github.com
login username
password xxxxxxx

の両方を設定した場合、ユーザ名・パスワード両方省略されました。

参考URL

Githubへのpushでusername/passwordを省略する方法2つ

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
301
Help us understand the problem. What are the problem?