質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

1264閲覧

本番環境(EC2)とgithub間のコンフリクト

annaPanda

総合スコア130

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2019/12/25 06:32

編集2019/12/25 06:45

EC2にgit cloneしたrailsプロジェクトのあるファイルをサーバ内でviで編集し、さらにローカル環境内でも同じファイルを編集してしまい(もちろんadd、commit、pushはしてます)、EC2にgit pull origin masterしたところ

* branch master -> FETCH_HEAD Updating 3e36dc3..9319012 error: Your local changes to the following files would be overwritten by merge: config/unicorn.rb Please commit your changes or stash them before you merge. Aborting

と出てきてしまったのでコンフリクトに気づき、ローカルのものをEC2内の同じファイルにコピペして同じにしたのですが状況が変わりません。
なにかわかるかたいらっしゃいますか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

記載いただいた内容を見る限り、EC2 側の変更は未コミットの状態で git pull origin master を実行したということですかね。
Aborting と書かれているとおり、操作が中断されて、特に何も起きていないとおもいます。

EC2 側の変更がコミット済みでコンフリクトが発生した場合は次のような出力になります。

* branch master -> FETCH_HEAD Auto-merging README.md CONFLICT (content): Merge conflict in README.md Automatic merge failed; fix conflicts and then commit the result.

状況確認

git status を実行してみて状況を確認してください。

次のように both modified となっていたらコンフリクトしています
ただの modified ならコンフリクトはしていないです。

sh

1$ git status 2On branch master 3Your branch and 'origin/master' have diverged, 4and have 1 and 1 different commits each, respectively. 5 (use "git pull" to merge the remote branch into yours) 6 7You have unmerged paths. 8 (fix conflicts and run "git commit") 9 (use "git merge --abort" to abort the merge) 10 11Unmerged paths: 12 (use "git add <file>..." to mark resolution) 13 both modified: README.md 14 15no changes added to commit (use "git add" and/or "git commit -a")

コンフリクトしていない 場合の出力は次のようになります。

sh

1$ git status 2On branch master 3Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded. 4 (use "git pull" to update your local branch) 5 6Changes not staged for commit: 7 (use "git add <file>..." to update what will be committed) 8 (use "git restore <file>..." to discard changes in working directory) 9 modified: README.md 10 11no changes added to commit (use "git add" and/or "git commit -a")

対応

コンフリクトしていない場合

変更を退避するなどして、何も変更されていない状態にしてから git pull origin master を実行する。

コンフリクトしている場合

目的に応じてどちらか一方を実行してください。

EC2 上の状態を origin/master に一致させたいなら git reset --hard origin/master を実行してください。

EC2 上の状態を git pull origin master の実行前にもどしたいなら
git reset --hard ORIGIN_HEAD を実行してください。

投稿2019/12/25 07:20

kit494way

総合スコア317

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

annaPanda

2019/12/25 07:42

コンフリクトしてませんでした。実際は超初歩的で申し訳ないのですが、本番環境でaddとcommitが行われていませんでした。 重要な気づきを本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問