GNU/Linux >> Linux の 問題 >  >> Linux

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

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

警告:credential.helper store を使用する場合 回答から、パスワードは完全に暗号化されずに (「そのまま」) ~/.git-credentials に保存されます。 .以下のコメント セクションまたは「リンク済み」セクションの回答を参照してください。特に、雇用主がセキュリティ問題を一切許容しない場合は注意してください。

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

元の回答 (@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


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

GitHub のこの記事で説明されているように、新しい SSH キーを追加します。

Git が引き続きユーザー名とパスワードを要求する場合は、https://github.com/ を変更してみてください [email protected]: へ リモート URL:

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

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

これは .git/config で実現できます ローカル リポジトリのファイル。このファイルには、「url」というエントリを持つ「remote」というセクションが含まれています。 「url」エントリには、対象のリポジトリの https リンクが含まれている必要があります。

ホストの「url」の前にユーザー名を付けると、git になります。 もうユーザー名を要求するべきではありません。以下に例を示します:

url = https://[email protected]

Linux
  1. Linuxスリープコマンド–指定された時間の遅延

  2. Ls -lがすべてのファイルの時間や年を表示しないのはなぜですか?

  3. デスクトップ用PB–デスクトップでファイルと通知を受信する

  1. すべてのユーザーに必要な20のLinuxコマンド

  2. git の使用時にユーザー名のプロンプトをスキップする

  3. NAS への rsync は毎回すべてをコピーします

  1. 初心者向けのLinuxタイムコマンドチュートリアル(例付き)

  2. ジュニアシステム管理者向けのテクノロジーを知る必要がある

  3. GitHubトークンを使用したgitpush[パスワード認証の廃止]