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

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

新規登録して質問してみよう
ただいま回答率
85.48%
GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Q&A

解決済

3回答

9695閲覧

削除したファイルによってconflict起こるが、github上でresolveできない

kazoogon

総合スコア281

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

0グッド

1クリップ

投稿2019/01/19 17:55

行った事

hoge/first.jsというファイルを削除。
hoge/second.jsを作成。内容はfirst.jsとほぼ同じ。

pull request作成(masterへのmerge)

問題点

イメージ説明

conflictが起こるが、"Resolve Confilct"部分が使用できない。
またローカルで何か処理をしてpushしようとするが、何をどうすべきなのかが不明なので質問させていただきました。

よろしくお願いいたします。

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

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

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

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

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

firedfly

2019/01/19 18:19

こんにちは。 その画像の切れてる部分の下がだいじです。エラーメッセージなど、出せる情報はぜんぶ載せてください。
kazoogon

2019/01/19 18:21

hoge/first.jsとファイル名だけが出ています。 (実際のファイル名は控えさせて頂きます、申し訳ございません)
guest

回答3

0

自己解決

この解決方法が正しいかどうか不明ですが、masterでconflictの起きているファイルを削除致しました。

投稿2019/01/24 20:07

kazoogon

総合スコア281

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

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

0

手元でコンフリクト解消しましょ

  1. 手元の master ブランチにて git pull し、最新にする
  2. 手元のPRしたいブランチにて git merge master し、 master ブランチの変更の取り込みを試みる
  3. ↑の操作で conflict が発生するので、直した後に git commit および git push

これで後は普通に github 上でマージボタン押せます。

投稿2019/01/19 19:15

set0gut1

総合スコア2413

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

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

kazoogon

2019/01/19 19:19

回答ありがとうございます。 上記操作の2の部分で、conflictが発生せずに普通にmergeできてしまいました。。
set0gut1

2019/01/19 19:25

謎ですね。手元では conflict 扱いにならないってことですかね…。 merge 前後で first.js と second.js の内容に何か変化ありましたか?
kazoogon

2019/01/19 19:33

merge前後で変化はないですね。。 (一応もう一度現象の説明を書いておきます) first.js →削除 second.js→新規作成、内容はfirst.jsとほぼ一緒 githubのFiles changedにはfirst.js欄にて "This file was deleted"と表示されていることが確認できる という状態です。
set0gut1

2019/01/19 19:47

ちょっと手元でやったんですが、 - 開発用ブランチで mv first.js second.js (gitにrenameと認識されている状態にする) - 開発用ブランチが分岐した後のcommitでmasterブランチでfirst.jsの内容を編集 とした時に同じ状況になりました。 で、masterブランチ更新後に開発用ブランチでmarge masterすると、masterブランチでfirst.jsに加えた変更が開発用ブランチのsecond.jsに反映されました。 この状態でgit pushするとgithubでマージボタン押せるようになります。 念のため、second.jsの内容が変わっていないか、変わっていたとして意図通りのものか確認した方が良いかと思います。git merge master 直後に git diff HEAD^ とすると、 second.js の変更内容として表示されるはずです。
kazoogon

2019/01/19 20:13

mvではなく、fisrt.jsを削除・second.jsを新規作成。 また "開発用ブランチが分岐した後のcommitでmasterブランチでfirst.jsの内容を編集" についてはこちらでは行っていないので、上記のようにはいかないですね。。 ただ削除したファイルは gitが ”このファイルは削除するんですね? 了解です” と認識してくれればいいのですが、その方法がいまいちわからないですね。。。
set0gut1

2019/01/19 20:31

削除→新規作成でも内容が似てるとrenameとみなされることがあるんですよ。そのときはFile changed欄で「first.js → second.js」みたいな表示になります。 ただ、コメントを見返すとFiles changed欄で"This file was deleted"となってるとのことで、first.jsとsecond.jsはrenameではなく別ファイルって認識されてますね。なのでsecond.jsの有無は関係なく、 - ①開発ブランチで rm first.js - ②開発ブランチ分岐後に master ブランチで first.js を編集 という状況と同じ状態だと思うんですが、②が違うとなると分からないですね…。 念のため手元の master ブランチの最新 commit 番号と、github 上の master ブランチの最新 commit 番号が一致してるかどうか確認していただければと思います。 この質問、クリップしますね。
kazoogon

2019/01/20 08:18

リモートmasterのcommit番号と、ローカルのcommit番号は一緒ですね。。 ただ単にリモート上で削除したfirst.jsでconflictになっているだけですね。。。
guest

0

こんばんは。

どのブランチで作業しているか、何人で作業しているのか、masterブランチ上でfirst.jsを変更してるコミットはないか、などなにも書かれていないので、具体的には回答できません。

特別なことは必要ありませんので、プルリクエスト時に競合した時の対処方法の通りに、地道にコンフリクトを解消してください。

投稿2019/01/19 18:29

firedfly

総合スコア1131

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

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

kazoogon

2019/01/19 18:47

回答ありがとうございます。 リンク内でもありますが、ファイルを削除した場合は "-f" オプションでpushするのがベタなのでしょうか? 今の状態ですと、コード内の何かを修正するわけでもないので、何をいじったらいいのか不明ですね。。。
firedfly

2019/01/19 18:53

-fをつけるのはrebaseしてるからで ファイルを削除したこととは関係ありません。 まず、なぜコンフリクトが起きてるのかを調べて理解して下さい。 (エラーメッセージに書いてあります) たいていは削除したファイルを編集済みのコミットが存在しているだけです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問