GitLab は、開発者がコード開発の共有や共同作業に使用できる人気のコード ホスティング プラットフォームです。一部の開発者は、Git クライアントを使用してコードを送信すると、GitLab が一貫性のないユーザー名の送信を傍受し、送信が失敗するという問題に遭遇する場合があります。この記事では、この問題を調査し、それを解決するためのいくつかの解決策を提供します。
Git クライアントを使用してコードを送信するときに、送信内のユーザー名が GitLab Web サイト上のユーザー名と一致しないことを GitLab が検出すると、送信は次のようになります。傍受された。具体的には、ブロックは送信時に使用するプロトコルによって異なります。 HTTP プロトコルが使用されている場合、GitLab はコミットの「From」ヘッダーのユーザー名をチェックし、SSH プロトコルが使用されている場合、GitLab はコミット メッセージの電子メール アドレスをチェックします。これらの値が GitLab 上の値と一致しない場合、コミットは拒否されます。
この問題は通常、次の状況で発生します。
この問題を解決するには、いくつかの方法を試すことができます。
Git クライアントでグローバル git ユーザー名と電子メール アドレスを変更して、GitLab Web サイト上のものと同じであることを確認できます。使用される情報は一致します。次の 2 つのコマンドを使用して変更できます。
git config --global user.name "your_username" git config --global user.email "your_email"
これにより、グローバル git 構成が変更され、コミットするすべてのコードがこの情報を使用することに注意してください。これにより、GitLab によるコミットのインターセプトの問題は解消されますが、すべてのコミットがこのグローバル git ユーザー名と電子メール アドレスに関連付けられるため、特別な注意が必要になります。
複数の GitLab アカウントがあり、それらが異なる電子メール アドレスを使用している場合は、Git クライアントと GitLab で複数の SSH キーを使用することをお勧めします。 SSH キー。こうすることで、アカウントごとに異なる SSH キーを使用でき、コミット内のユーザー名と電子メール アドレスが GitLab アカウントと確実に一致するようにすることができます。 Git クライアントでさまざまな GitLab アカウントに複数の SSH キーを構成する方法は次のとおりです。
ssh-keygen -t rsa -C "your_email_address"
ssh-add ~/.ssh/id_rsa_your_email_address
ここで、「your_email_address」は、新しい SSH キーに指定した電子メール アドレスです。
Host gitlab_ssh_alias HostName gitlab.com User git IdentityFile ~/.ssh/id_rsa_your_email_address
gitlab_ssh_alias を GitLab 上の Git リポジトリ エイリアスに置き換えることに注意してください。 GitLab Enterprise Edition を使用している場合は、HostName を GitLab インスタンスの URL に設定する必要があります。
送信ごとに異なるユーザー名と電子メール アドレスを指定したい場合は、送信コマンドで「--author」を使用できます。パラメーターを使用して送信者の詳細を指定します。例:
git commit --author="Your Name <your_email@address.com>"
これにより、送信時に別のユーザー名と電子メール アドレスが指定されます。
この方法では、GitLab によるコミットのインターセプトの問題は解決されませんが、Git コミットのユーザー名と電子メール アドレスをより柔軟に制御できるようになることに注意してください。
グローバル git ユーザー名と電子メール アドレスを変更するか、複数の SSH キーを使用するか、コミット時にユーザー名と電子メール アドレスを指定することで、GitLab によるコミットのインターセプトの問題を回避できます。さまざまなユースケースに応じてさまざまなソリューションが機能するため、これらの方法のいずれかを試して、自分にとって最適なソリューションを見つけることができます。
以上がgitlab が一貫性のないユーザー名で送信を傍受する問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。