guache
@guache (郡司 いたみ)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

[Ruby on rails]リモートリポジトリからpullするとエラーが発生する

Q&A

Closed

Qiita・プログラミング初心者です。
至らぬことが多いですが、よろしくお願いします。

実行環境

ruby 2.6.3
Rails 6.1.6.1
AmazonのEC2、RDS、デプロイにPumaとNginxを利用しています。

解決したいこと

Ruby on Railsでコミュニティサイト風のWebアプリを制作中です。
ローカルの変更をgit pushし、本番環境のアプリにも適用するためgit pullしたところ、エラーが発生しました。

発生している問題・エラー

[ec2-user@ip-~~]$ git pull origin main
From github.com:~~
 * branch            main       -> FETCH_HEAD
error: Your local changes to the following files would be overwritten by merge:
  .ruby-version Gemfile.lock
Merge with strategy ort failed.

マージすると.ruby-version と Gemfile.lockが上書きされて変になるよ、ということでしょうか。

該当するソースコード

.ruby-version
ruby-2.6.3
Gemfile.lock
(中略)
RUBY VERSION
   ruby 2.6.3p62

BUNDLED WITH
   1.17.3
end

自分で試したこと

最初はGemfileの変更が上書きされていないというメッセージも出ていたので、bundle update を実行しました。(それが良くなかったのかも?)
その後もこのエラーメッセージが出続け、
.ruby-version も Gemfile.lockも自分で変更した覚えがなく、マージと言われても…?という状態です。
$ git branch -aで確認しても

ec2-user:~/environment/~~ (main) $ git branch -a
* main
  remotes/origin/main

ピンと来ていません。
確認すべきことや解決方法など、ご教示いただけると嬉しいです。

0

2Answer

git status でファイルが変更されているか確認出来ないでしょうか。

git checkout .ruby-version
git checkout Gemfile.lock

で変更を破棄できませんか

1Like

ご回答ありがとうございます!
コメントの追加だと見づらかったのでこっちで…

git checkoutではどちらも

Updated 0 paths from the index

と表示されましたが、git statusをEC2にログインして試してみたところ

On branch main
Your branch and 'origin/main' have diverged,
and have 2 and 3 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)

Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: .ruby-version
modified: Gemfile.lock

Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: Gemfile

Untracked files:
(use "git add <file>..." to include in what will be committed)
vendor/bundle/

と表示されました!
このメッセージの意味について調べて、色々試してみようと思います!

0Like

Your answer might help someone💌