ユーザー名のみを指定して、ユーザーの名前を取得する方法はありますか?
この出力のようなものgit show <username>
(これが機能しないことはわかっています)
username: username
name: First Last
email: email@address
GitHub api 呼び出しでこれを実行できることはわかっていますが、CLI 内に保持することをお勧めします。
ユーザー名のみを指定して、ユーザーの名前を取得する方法はありますか?
この出力のようなものgit show <username>
(これが機能しないことはわかっています)
username: username
name: First Last
email: email@address
GitHub api 呼び出しでこれを実行できることはわかっていますが、CLI 内に保持することをお勧めします。
Git 自体(コマンド ライン クライアント、つまり「愚かなコンテンツ トラッカー」 ) にはユーザー名の概念がなく、GitHub だけがユーザー名の概念を持っています。つまり、Git リポジトリに保存されている作成者/コミッター名および電子メールへの GitHub ユーザー名のマッピングはありません。
Git でコミットを作成する場合、user.name
(本名) とuser.email
(メールアドレス) の構成値を使用します。これらの構成値は、環境変数を設定およびエクスポートすることにより、コンソールでオーバーライドできますGIT_{COMMITTER,AUTHOR}_{NAME,EMAIL}
。
GitHub は Git の一部ではないため、Git は GitHub のユーザーについて何も知りません。したがって、GitHub への API 呼び出しだけが残ります (コマンド ラインから少しスクリプトを作成して、それをGit エイリアスにすることができると思います)。
git コミットには「ユーザー名」と呼ばれる特定のフィールドがないことは事実ですが、git リポジトリにはユーザーがあり、ユーザーには名前があります。;) 必要なものが github ユーザー名である場合、knittl の答えは正しいです。しかし、あなたの質問は github ではなく git cli について尋ねたので、コマンド ラインを使用して git ユーザーのメール アドレスを取得する方法は次のとおりです。
git cli を使用して git リポジトリ内のすべてのユーザーのリストを表示するには:
git log --format="%an %ae" | sort | uniq
特定のユーザーを名前で検索するには、たとえば「John」:
git log --format="%an %ae" | sort | uniq | grep -i john
これを使用して、ログインしているユーザー (実際の git アカウント) を確認します。
git config credential.username
また、他の回答として、ユーザーの電子メールとユーザー名 (これはユーザー資格情報とは異なります):
git config user.name
git config user.email
すべての構成のリストを表示するには:
git config --list