1
0

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 1 year has passed since last update.

git pullでのエラー error: Your local changes to the following files would be overwritten

Posted at

git pull したときに、error: Your local changes to the following files would be overwritten by merge: routes/web.phpと出る時。

Laravel9のプロジェクトを進めてローカル環境での開発にきりが付いたので、git pushしてリモートリポジトリを更新し、本番環境のローカルリポジトリにgit pullしたときにエラーが出た。

サイトで検索すると、いろいろな方法が出てくる。
まず出てきたのがstashを使ってエラーの出ているファイルを一旦対比させておく方法。

git stash

git stash を使ってみたが、特に一次退避するファイルもないよと表示された。

次に試したのが、

git add .
git commit -m "some coments"
git push origin master

これですべてのファイルをもう一度pushしてみるということだ。
しかし先ほどpushしたので、もちろん「your branch is clear」と出て、きれいさっぱりpushできている。

次にgit treeを確認してみた。

しかし、特にブランチも切っていなかったし、マージする内容もなかった。HEADもリモートリポジトリを指しており、正常にpushできている。

悩みに悩んだ結果、以下のサイトを見つけた。
git pull を強制し、リモートでローカルを上書きする方法
https://www-creators.com/archives/1097

この記事では

// 1) リモートの最新を取ってきておいて・・
$ git fetch origin master

// 2) ローカルのmasterを、リモート追跡のmasterに強制的に合わせる!
$ git reset --hard origin/master

という方法が書かれていた。
これを本番環境で実行すると無事pullすることができ、正常にホームページも動作した。

めでたしめでたし。

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?