コマンドでユーザー名とパスワードを指定して、gitリポジトリのクローンを作成することができます。例:
git clone https://username:[email protected]/file.git
プッシュ時にユーザー名とパスワードも指定することは可能ですか?そのため、たとえば、git Push Origin --all
を実行すると、パスワードの入力を求められます。これを1つのコマンドで実行します。
(キーやその他のソリューションをセットアップできることは知っていますが、1つのコマンドでユーザー名とパスワードを使い続ける方法があるかどうか知りたいです。)Windows 8.1でGit Bashを実行しています。
はい、できます
git Push https://username:[email protected]/file.git --all
この場合、https://username:[email protected]/file.git
はgit Push Origin --all
のOrigin
を置き換えます
git Push
のその他のオプションを確認するには、git help Push
を試してください
私は以下の形式を使用しました
git Push https://username:[email protected]/file.git --all
パスワードまたはユーザー名に@が含まれる場合は、%40に置き換えます
Git documentation によると、git Push
コマンドの最後の引数は、プッシュ先のリポジトリにすることができます:
git Push [--all | --mirror | --tags] [-n | --dry-run] [--receive-pack=<git-receive-pack>]
[--repo=<repository>] [-f | --force] [--Prune] [-v | --verbose] [-u | --set-upstream]
[<repository> [<refspec>…]]
repository
パラメーターは、URLまたはリモート名のいずれかです。
したがって、clone
コマンドの例と同じ方法でユーザー名とパスワードを指定できます。
可能ですが、git 2.9.3(2016年8月)より前では、git Push
はクローンリポジトリにプッシュバックするときに使用される完全なURLを出力します。
ユーザー名とパスワードが含まれます!
しかし、これ以上: commit 68f3c07 (2016年7月20日)、および commit 882d49c (2016年7月14日)by Jeff King(peff
) を参照してください。
( 浜野潤夫-gitster
- in commit 71076e1 、2016年8月8日)
Push
:ステータス出力のURLを匿名化しますコミット47abd85(フェッチ:保存する前にURLからユーザー名を削除、2009-04-17、Git 1.6.4) URLを匿名化するためのフェッチを教えました。
主な目的は、マージコミットメッセージにパスワードを貼り付けないようにすることでしたが、副作用として、stderrにパスワードを出力することも避けています。プッシュ側にはマージコミットの問題はありませんが、おそらくstderrへの出力を避けるべきです。同じ匿名化関数を再利用できます。
これを起動するには、コマンドラインまたはgit configファイルに資格情報を表示する必要がありますが、どちらも特に安全ではありません。
そのため、人々は代わりにクレデンシャルヘルパーの使用に切り替える必要があります。これにより、この問題はなくなります。しかし、何らかの理由でURLに埋め込まれた資格情報を使用することになった人々の状況を改善しない理由はありません。
そのようなURLを使用する場合、Gitはパスワードを保存しません。代わりに、ユーザー名を保存するだけなので、次回パスワードの入力を求めるだけで済みます。 manual で説明したように、パスワードを保存するには、外部資格情報ヘルパーを使用する必要があります。 Windowsの場合、 GitのWindows資格情報ストア を使用できます。このヘルパーは、デフォルトで GitHub for Windows にも含まれています。
パスワードを使用すると、パスワードが自動的に記憶されるため、一度入力するだけで済みます。そのため、クローンを作成すると、パスワードの入力を求められます。その後、リモートとのすべての通信でパスワードの再入力は求められません。代わりに、資格情報ヘルパーはGitに認証を提供します。
もちろん、これはhttpsを介した認証でのみ機能します。 sshアクセス([email protected]/repository.git
)にはSSHキーを使用し、ssh-agent
(またはplinkを使用している場合はPuTTYのページェント)を使用して覚えておくことができます。