GitHub に push したら rejected された時の対応

スポンサーリンク

概要

GitHub にリポジトリを作成し、そこに対して初めて git push した際に以下のように表示されることがあります。

% git push --set-upstream origin master
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'git@github.com/xxx/xxx.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull …') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

対応方法

ググってみるといろいろと情報が出てくるのですが、正解は下記でした。

% git pull --allow-unrelated-histories origin master

要するに一度リモートリポジトリの情報を持ってこいということです。
そして、この時に、–allow-unrelated-histories を付けないと下記のエラーが出ます。

fatal: refusing to merge unrelated histories

補足

GitHub でリポジトリ作成時に何らかのファイルを作成してしまうと、それが initial commit とされてしまい、この問題が起きるようです。
README.md とか .gitignore とかを作る際には気をつけましょう。
というか、自分は面倒臭いので金輪際 GitHub 上では作らないようにしようと思いますが(/_\*)

コメント

タイトルとURLをコピーしました