ryu's blog

~日々の出来事や開発のアウトプットの場~

GitHubでgit pushできなかった件

いつも自分は、リモートのGit管理ツールとしてGitLabを使っている。 GitHubを久しぶりに使ってみたところ、何故かリモートリポジトリにpushができない…。

そこで色々ググってみて対処できたのでメモ。

GitHubのセキュリティ設定によるエラー

ちなみに、GitHubにはSSHでGitLabとは別のSSHキーを設定して接続。SSHキーの設定は以下のサイトを参考に。

qiita.com

dev.classmethod.jp

話が逸れましたが、原因はセキュリティ設定のEmails設定ページにある下記の設定だった。 f:id:ryu236:20180128000017p:plain この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オプションを付けて解決。下記を参考。

qiita.com

これでgit pushのエラーがとれた!