私はLinuxの世界とgitに初めて触れました。最近、「dotfiles」というGitリポジトリを作成し、ドットファイルを管理するためのバージョン管理を設定しました。ただし、変更をコミットするたびに、Gitユーザー名とパスワードの入力を求められます。その後、自分のユーザー名と電子メールアドレスが.gitconfig
そのセクションuser
の下のファイルに自動的に挿入されます。今はGit 'dotfiles'リポジトリがプライベートなので大丈夫ですが、後でこのリポジトリをパブリックに設定することもできます。その場合、私のユーザー名とEメールアドレスを表示したくありません.gitconfig
。これが起こらないようにするにはどうすればよいですか?
私は気づいたマティアス・ベインズの.gitconfig
プロフィールには部品がなく、user
次のcommit
部品で構成されています。
[commit]
# https://help.github.com/articles/signing-commits-using-gpg/
gpgsign = true
私もアニッシュ・アタエの.gitconfig
プロフィール、commit
セクションはありませんが、user
セクションには以下が含まれます。
[user]
useConfigOnly = true
ベストアンサー1
Gitでは、コミットには名前とEメールアドレスが必要です。この値はすべてのコミットに挿入され、nullではなく、いくつかの基本的な検証を満たす必要があります。慣例では、この名前は個人名ですが、Git自体はそれを要求しません。ただし、あなたが貢献するプロジェクトでは必要になる場合があります。
~/.gitconfig
ただし、構成ファイルでもこれを提供する必要はありません。 Git はまず環境変数GIT_AUTHOR_NAME
, GIT_AUTHOR_EMAIL
, から存在するかどうかをGIT_COMMITTER_NAME
読み込みます。しかし、これは一般的に使用するときに他の技術を使用しようとしたときに値を上書きするGIT_COMMITTER_EMAIL
ので、良い考えではありません。git commit --amend
git-commit(1)
その他のオプション説明:
これらの環境変数の一部が設定されていない場合は設定項目から情報を取得し、存在しない
user.name
場合user.email
は環境変数から/etc/mailname
ファイルが存在しない場合は、完全修飾ホスト名からファイルを取得し、そのホスト名に置き換えます)
author.name
そして、対応する電子メールオプションが設定されている場合は、committer.name
user.nameとuser.emailをオーバーライドし、環境変数でオーバーライドします。一般的な使い方は設定
user.name
とuser.email
変数だけです。より複雑なユースケースには他のオプションがあります。
私は通常私の名前を残し、user.name
シェルEMAIL
構成で適切に設定します。一部のプログラム(特にHomebrew)はEMAIL
環境に応じて破損してフィルタリングされるため、すべての場合で動作するわけではありません。システムの GECOS フィールドとメール設定が正確であることに頼るのは良い考えではありません。そうでない場合が多いからです。
~/.config/git/config
最後に、通常はデフォルトファイルに保存したくない値を保存したり、~/.gitconfig
ドットファイルストアにチェックインしたりするために他の設定ファイルを使用できます。commit.gpgsign
私が使用しているすべてのシステムに秘密鍵があり、コミットに署名できるわけではないので、署名できるかどうかと使用する鍵はシステムによって異なります。