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

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

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

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Q&A

解決済

1回答

736閲覧

<Git> なぜ、コンフリクトとなるのかわからない問題が発生している

ytDu9QHRgvzgNlB

総合スコア15

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

0グッド

0クリップ

投稿2021/09/06 07:19

現時点の状況

まず、masterブランチで「Message1」と書いたテキストファイルをコミットしました。
次に、masterブランチからWork1、Work2というブランチを新たに作りました。
Work1ブランチとWork2ブランチでは以下の画像のようなテキストファイルをコミットしています。
Work1ブランチのテキストファイルの中身      イメージ説明
左図がWork1ブランチでコミットした内容で、右図はWork2ブランチでコミットした内容です。

そして、masterブランチにWork1ブランチをマージし、その後でWork2ブランチをマージしました。
すると、Work2ブランチをマージするときにコンフリクトが起こりました。

わからないこと

以下の画像のような所でコンフリクトが起きていると示されました。
イメージ説明
私は、Work1ブランチとWork2ブランチでのファイル編集で同じ行を変更はしていません。
それにもかかわらず、なぜコンフリクトと判断されるのかがわからないです。

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

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

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

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

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

guest

回答1

0

ベストアンサー

色の付き方から明らかなように、「変更があったかどうか」の認識は行単位で行われます。

そして、Work2ブランチでは、たった1行しかない元ファイルの1行を書き換えてしまったため、「ファイル全体が書き換えられた」ということになります。Work1の変更と一致させられるような基準点はありません。

投稿2021/09/06 08:01

maisumakun

総合スコア146018

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

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

maisumakun

2021/09/06 08:07 編集

「Message1」と「Message3」は、人間から見れば似て見えますが、差分処理はそれを認識しません。「hoge」が「piyo」に書き換わったように、「全く別の行」として処理されます。
ytDu9QHRgvzgNlB

2021/09/06 08:19

1行しかないファイルを書き換えると、「ファイル全体の書き換え」と解釈されてしまうんですか!? 本だとあまりそう言ったことが記載されていなかったので驚きました。 回答していただきありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問