0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

git : リモートブランチに初めてpushしたとき表示されたエラーを解決する

Posted at

#はじめに
bitbucketで新しいリポジトリを作って、そのリポジトリに最初にpushするときにつまづきました。その時の解決法と原因を記録しておこうと思います。

##bitbucketで新しいリポジトリを作る
bitbucketで新しいリポジトリを作ります。
Screenshot from 2020-06-03 19-57-01.png

ここで自分は「READMEを含めますか?」の欄で「Yes」としてREADMEを一緒に作成しました。

##作ったリポジトリに向けて最初のpushをする
ローカルリポジトリでファイルを編集、add、commitまで行って、pushをするというところでerrorとなりました。
(作業ブランチはmasterです)

sada@lynx:~/デスクトップ/training$ git push --set-upstream origin master
To bitbucket.org:***/***.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'git@bitbucket.org:***/***.git'
ヒント: Updates were rejected because the remote contains work that you do
ヒント: not have locally. This is usually caused by another repository pushing
ヒント: to the same ref. You may want to first integrate the remote changes
ヒント: (e.g., 'git pull ...') before pushing again.
ヒント: See the 'Note about fast-forwards' in 'git push --help' for details.

ヒントの中に「git pullをしてみろ」とあるので実行してみると、pullでもエラーとなりました。

fatal: refusing to merge unrelated histories

##解決法
過去に全く同じように問題に合われていた方がいたので、参考にさせていただきました。

https://qiita.com/takanatsu/items/fc89de9bd11148da1438

pullのときのエラー文にあるように、無関係なヒストリーを持ったブランチ同士であるため、mergeができなかったようです。

ちゃんと調べてみたところ
Git 2.9から mergeコマンドとpullコマンドでは,--allow-unrelated-historiesを指定しない限り,無関係なヒストリを持つ2つのブランチをマージすることはできなくなった。
とありました。

結果的には「--allow-unrelated-histories」オプションを指定することでpullが成功でき、pushできました。

##なぜ無関係なブランチだと言われたのか
参考元の記事でも同様の考察がされていますが、どうやら最初にREADMEを一緒に作ってリポジトリを作成したことが原因のようです。
bitbucketのブランチを見てみると、READMEが「initial commit」になっています。
Screenshot from 2020-06-03 20-24-33.png

  • リモートのmaster -> READMEをcommit
  • ローカルのmaster -> 別ファイルをcommit

リモートとローカルでそれぞれ別の過程でcommitが行われた結果、無関係なブランチと判断されたようです。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?