gitでリモートの内容をpullし忘れて、ローカルでcommitしちゃって辛かった話

マジで一生gitがわからねぇ!!!

起こったこと

PCとスマホを利用してファイルを編集している。

  1. 朝、PCでファイルを変更してcommit、giteaにpushした。
  2. そのcommitをスマホでpullせずに、ファイルの変更、commit、pushをしようとした。
  3. 怒られた!!
~/Documents/.ssh/gitea Error pushing [-11] - cannot push non-fastforwardable reference

つまり・・・リモートの変更内容をpullし忘れたまま、commitしちゃってそれをpushしてコンフリクトが起こっている?っていうかこれコンフリクトじゃないな???

多分こういうこと

/posts/2025/03/git%E3%81%A7%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%81%AE%E5%86%85%E5%AE%B9%E3%82%92pull%E3%81%97%E5%BF%98%E3%82%8C%E3%81%A6%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E3%81%A7commit%E3%81%97%E3%81%A1%E3%82%83%E3%81%A3%E3%81%A6%E8%BE%9B%E3%81%8B%E3%81%A3%E3%81%9F%E8%A9%B1/gitwakaran1.jpg

/posts/2025/03/git%E3%81%A7%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%81%AE%E5%86%85%E5%AE%B9%E3%82%92pull%E3%81%97%E5%BF%98%E3%82%8C%E3%81%A6%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E3%81%A7commit%E3%81%97%E3%81%A1%E3%82%83%E3%81%A3%E3%81%A6%E8%BE%9B%E3%81%8B%E3%81%A3%E3%81%9F%E8%A9%B1/gitwakaran2.jpg

解決

何が正しいのかはわからないけど・・・

  1. スマホの方のブランチをcommitとかをする状態に戻す
    1. git reset コミットの番号
  2. git stashで変更をstashに投げる
  3. リモートの情報を取ってくる
    1. git pull origin main
  4. stashを戻す
    1. git stash pop
  5. あとはコミット、pushする!!

という方法で何とか解決?させましたとさ。

gitわからなすぎるよぉ・・・助けて;;

https://docs.github.com/ja/get-started/using-git/dealing-with-non-fast-forward-errors というかそっかぁ・・・他人が先にリモートにコミットした時も同じことが起きるよね・・・ということはメジャー中のメジャーよく起きる問題なのか!?!?

やはりgitわからない・・・・一人で使っているし、ただ単純に複数デバイス間でデータの共有をするためだけに使っているから成長もしない・・・ダメダメ( ;∀;)