いつも自分は、リモートのGit管理ツールとしてGitLabを使っている。 GitHubを久しぶりに使ってみたところ、何故かリモートリポジトリにpushができない…。
そこで色々ググってみて対処できたのでメモ。
GitHubのセキュリティ設定によるエラー
ちなみに、GitHubにはSSHでGitLabとは別のSSHキーを設定して接続。SSHキーの設定は以下のサイトを参考に。
話が逸れましたが、原因はセキュリティ設定のEmails設定ページにある下記の設定だった。
このKeep my email address privateにチェックを入れてあると、自分のアカウントに設定してあるメールアドレスではなく、説明欄にある@user.noreply.github.comのドメインアドレスがGitHubでGitを扱うときのアドレスになる。なので、PCなどのgit config設定をこのアドレスにする必要あり。
また、Block command line pushes that expose my emailにチェックが入っていると、コマンドによるgit pushができない。なので、コマンドで操作するときはチェックを外す必要あり。
git merge時に--allow-unrelated-historiesオプション
git pushするのにmergeしなきゃいけなくて、mergeするのにもエラーが出た。(下記のようなエラー)
fatal: refusing to merge unrelated histories
--allow-unrelated-historiesオプションを付けて解決。下記を参考。
これでgit pushのエラーがとれた!