web-dev-qa-db-ja.com

Gitがプッシュするたびにユーザー名を尋ねる

リポジトリにプッシュしようとするたびに、両方のusername & passwordを要求します。

毎回パスワードを再入力しても問題ありませんが、問題はユーザー名を入力することです。リポジトリのクローンを作成するためにhttpsを使います。

それで、どのように私はそれがそれぞれのgit Pushusernameを要求しないようにgitを構成することができます。

私はLinuxが初めてですが、WindowsのIIRCではgit Pushがパスワードを要求するだけです。

502
RanRag

編集者(モデレータおよびコメントによって提案された@ dk14による)

警告:答えからcredential.helper storeを使用する場合、あなたのパスワードは~/.git-credentialsに完全に暗号化されずに( "現状のまま")保存されます。特にあなたの雇用主が安全保障問題に対する許容度がゼロである場合は、下記のコメント欄または「リンク」欄からの答えを参考にしてください。

たとえ受け入れられたとしても、それはユーザ名だけを除外することについての実際のOPの質問に答えない(パスワードではない)。その正確な問題を抱えている読者のために@ grawity's answer が役に立つかもしれません。


元の回答(@Alexander Zhuによる):

次のコマンドを使ってあなたの資格情報を保存することができます

$ git config credential.helper store
$ git Push http://example.com/repo.git
Username: <type your username>
Password: <type your password>

また読むことをお勧めします
$ git help credentials

812

ローカルリポジトリの.git/configファイルでこれを実現できます。このファイルには「remote」というセクションと「url」というエントリが含まれています。 'url'エントリはあなたが話しているリポジトリのhttpsリンクを含むべきです。

あなたがあなたのユーザ名でホスト 'url'を前に付けるとき、gitはもうあなたのユーザ名を尋ねるべきではありません。これが例です:

url = https://[email protected]
144
user701648

Gitリポジトリで恒久的に認証する

資格情報のキャッシュを有効にするには、次のコマンドを実行します。

$ git config credential.helper store
$ git Push https://github.com/repo.git

Username for 'https://github.com': <USERNAME>
Password for 'https://[email protected]': <PASSWORD>

キャッシュの有効期限も指定する必要があります

git config --global credential.helper "cache --timeout 7200"

認証情報のキャッシュを有効にすると、 7200秒(2時間) の間キャッシュされます。


認証情報を読む ドキュメント

$ git help credentials
91
Jay Patel

GitHubのこの記事の説明に従って新しいSSHキーを追加してください

それでもGitからユーザー名とパスワードの入力を求められた場合は、リモートURLでhttps://github.com/[email protected]:に変更してみてください。

$ git config remote.Origin.url 
https://github.com/dir/repo.git

$ git config remote.Origin.url "[email protected]:dir/repo.git"
31

私が見つけた最も簡単な方法はこのコマンドを使うことでした:

git config --global credential.https://github.com.username <your_username>

これはサイトごとに機能し、あなたのグローバルgit設定を変更します。

変更を確認するには、次のようにします。

git config --global --edit
31
Ben

Sshの代わりにhttpsを使用している場合は、user701648にあるように.git/config内の "url"を編集できますが、必要な場合はパスワードも追加できます。

url = https://username:[email protected]
26
Daniel Lerch

Git設定ファイルに次のようなものを入れることで、与えられたサイトのすべてのリポジトリにあなたのユーザ名を設定することができます。あなたは " https://example.com "と "私"を実際のURLとあなたの実際のユーザー名に変更したいでしょう。

[credential "https://example.com"]
    username = me

(これは「git help credentials」から直接です)

18
Alan De Smet

Httpの代わりにSSHを使用していることを確認してください。 これ SO回答を確認してください。

11
gkris

クローンレポジトリの変更はうまくいきます:

git remote set-url Origin [email protected]:gitusername/projectname.git

キャッシュされた資格情報を使用することはうまくいきます、そしてタイムアウト期間を設定することは物事をより煩わしくしなくなります。 Windowsの認証情報ヘルパーを使用する場合は、これが最も簡単な方法です(特にSSHがブロックされている場合)。

8
Layer8Err

User701648の回答に加えて、次のコマンドを使用して、プロジェクトフォルダではなく、ホームフォルダ(すべてのプロジェクトに対してグローバル)に資格情報を保存できます。

$ git config --global credential.helper store
$ git Push http://example.com/repo.git
Username: <type your username>
Password: <type your password>
7
Yuvi

Git pull、git pull Origin xxx、gitはユーザー名とパスワードの両方を要求します。

git config credential.helper store

できます。

6
Languoguang

SSH versionを使用しても、パスワードに問題はありません。SSHキーを1回生成するだけで、gitに伝えるために、そのthis pcはthis githubアカウントで動作しますので、(このpcに対する)アクセスについて二度と私に尋ねないでください。

Github用にSSHを生成する方法

5

最も簡単な方法は、以下の内容の~/.netrcファイルを作成することです。

machine github.com
login YOUR_GITHUB_USERNAME
password YOUR_GITHUB_PASSWORD

(ここに示すように: https://Gist.github.com/ahoward/2885020

次のように入力してこのファイルのアクセス権を閉じて、パスワードを他の人が読めないようにすることもできます。

chmod 600 ~/.netrc
4
Simpler

git config - global credential.helper cache

2
Kai Wang
  1. $ git config credential.helperストア

  2. $ gitプッシュ/プッシュ https://github.com/xxx.git

  3. それからユーザー名とパスワードを入力してください。

  4. 完了
2

ユーザー名を入力しなくてもパスワードの入力を求められるようにするには、ユーザー名を含めてリポジトリのクローンを作成します。

git clone [email protected]/my_repo.git
1
ManoDestra

簡単な方法

作業ディレクトリ内でgitのURLを取得します:

git config remote.Origin.url

その後:

git config credential.helper store

git Push "url of your git"

最後にユーザー名とパスワードを尋ねます

できた。

0
Aominé