コミットが間違ったユーザーにリンクされている
GitHub コミット ヘッダー内の電子メール アドレスを、 GitHub アカウントの電子メール アドレスと照合して、コミットをユーザーにリンクします。 コミットが間違ったユーザーにリンクされている場合、またはユーザーがいない場合は、Git の電子メール設定を更新し、メール アドレスをアカウントに追加します。
メモ
コミットが別のユーザーにリンクされている場合、リポジトリへのアクセスは許可されません。
コミットは別のユーザにリンクされています
- コミットメールアドレスを設定する に従って、ローカル Git 構成のメール アドレスを変更します。 複数のマシンで作業する場合は、それぞれでこの設定を変更します。
- GitHub アカウントへのメール アドレスの追加 に従って、アカウントにメール アドレスを追加します。
メール アドレスを使用する今後のコミットは、アカウントにリンクされます。
コミットはどのユーザにもリンクされていません
コミットがリンクされていない理由を確認するには、 GitHubのコミットを調べます。
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリのメイン ページで、ファイル リストの上にある [ commits] をクリックします。
![リポジトリのメイン ページのスクリーンショット。 時計のアイコンと [178 件のコミット] がオレンジ色の枠線で強調表示されています。](/assets/cb-48469/images/help/commits/commits-page.png)
-
特定のコミットに移動するには、そのコミットのコミット メッセージを選びます。
![リポジトリのコミット一覧にあるコミットのスクリーンショット。 [README.md の更新] がオレンジ色の枠線で強調表示されています。](/assets/cb-17733/images/help/commits/commit-message-link.png)
-
ユーザー名の右側にある青い にカーソルを合わせます。
-
メッセージを使用して、更新する内容を決定します。
- 認識できない作成者 (電子メール アドレス付き): 表示されたメール アドレスを GitHub アカウントに追加します。
- 認識できない作成者 (電子メール アドレスなし): Git でコミット電子メール アドレスを設定し、そのアドレスを GitHub アカウントに追加します。
- 無効な電子メール: Git で有効なコミット電子メール アドレスを設定し、そのアドレスを GitHub アカウントに追加します。
メール設定を更新した後、古いコミットがリンクされない場合があります。 「コミットメールアドレスを設定する」を参照してください。
コミットはGitHubに存在しますが、ローカルクローンには存在しません
git show COMMIT-SHAがローカルでエラーを返すが、コミットがGitHubに表示されている場合、ローカルクローンが古くなっているか、コミットがブランチによって参照されなくなる可能性があります。
ローカルのリポジトリが古い
リモート リポジトリから情報をフェッチします。
git fetch REMOTE
フォークのアップストリーム リポジトリに git fetch upstream を使用するか、複製したリポジトリの git fetch origin を使用します。
コミットのあるブランチが削除された
ブランチが削除されたか、強制的にプッシュされた場合は、コミットをローカルにまだ持っているコラボレーターに新しいブランチにプッシュするよう依頼します。
git branch recover-B B
git push upstream B:recover-B
次に、復旧したブランチをフェッチします。
git fetch upstream recover-B
フォースプッシュは避けましょう
特に複数のユーザーがリポジトリにプッシュできる場合は、必要でない限り強制的にプッシュしないようにします。 書き換えを強制的にプッシュすると、リポジトリの履歴が作成され、コラボレーターが中断されたり、pull request が破損したりする可能性があります。
プッシュ保護によってコミットがブロックされる
プッシュ保護は、サポートされているシークレットを含むコミット、アップロード、または API 要求をブロックします。
プッシュ保護によってコミットが禁止された理由を理解する
プッシュ保護によって作業がブロック GitHub 、コミットまたは要求でサポートされているシークレットが検出されました。 もう一度試す前にシークレットを削除します。
プッシュ保護によるブロックを解決する
- プッシュ保護メッセージを確認して、シークレットとその表示場所を特定します。
- コミット、ファイルのアップロード、または API 要求からシークレットを削除します。
- プッシュ、コミット、アップロード、または要求をもう一度試します。
- シークレットが安全にプッシュできる場合は、ワークフローのバイパス手順に従います。