忍者CODE

ログイン

2
コンフリクトを解消しよう

PHPの問題

Git

完了にする!
問題
コンフリクト(競合)を解消しよう!

コンフリクトとは、同じソースコードの同じ箇所に対して修正を行うことだ。
修正行が異なれば、gitが自動的に判断してマージしてくれるが、
同じ行に対しての修正の場合、gitは判断できないため、
開発者に判断を委ねるのだ。ソースコードを自分の目で見て、
修正を行う必要がある。

コンフリクトを発生させるために、前回同様、分身の術で対応することとする。
分身の術については「その7:リモートリポジトリからプルしよう」を参照してほしい。

まず、git-ninjaの中にあるkaton-method.txtを開き、
中身を"karyokusaidai-oilplus"へ変更しよう。
修正完了後、コミットして、リモートへプッシュして欲しい。

次に、git-ninja2の中にあるkaton-method.txtを開き、
中身を"karyokusaidai-gasplus"へ変更しよう。
修正完了後、同様にコミットして、リモートへプッシュ使用とすると
エラーが発生するはずだ。
! [rejected] master -> master (fetch first)

上記のエラーが発生するのは、ローカルリポジトリが古いためだ。
リモートリポジトリはgit-ninjaでpushした内容が反映済のため、
ローカルリポジトリより新しい状況にある。
プルをして最新のファイルを取得しよう。 そうすると以下のエラーが発生する。

Auto-merging katon-method.txt
CONFLICT (content): Merge conflict in katon-method.txt
Automatic merge failed; fix conflicts and then commit the result.

上記エラーを解消して、リモートリポジトリにプッシュして欲しい。

※この問題はWindows環境のgit bashを基準に作成しております。環境によっては動作しない可能性があります。
期待する画面
                  Username for 'https://github.com': [メールアドレス]
Enumerating objects: 8, done.
Counting objects: 100% (8/8), done.
Delta compression using up to 4 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 430 bytes | 215.00 KiB/s, done.
Total 4 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), done.
To https://github.com/[ユーザー名]/git-ninja.git
4d0b0cc..8c46db7 master -> master
¥Command¥
                
ログインして解答を見る
コードのアイコン

解答ソースコード

              ※まず、テキストファイルを直接開き、コンフリクトの箇所を修正する。
$ git add .
$ git commit -m "競合解消"
$ git push origin master
¥Command¥
            
答えのアイコン

解説

コンフリクトを解消できただろうか。コンフリクトが発生したファイルの中身を見ると以下のようになっている。

$ cat katon-method.txt
<<<<<<< HEAD
karyokusaidai-gasplus
=======
karyokusaidai-oilplus
>>>>>>> 4d0b0cc794b887b1f95dff22d8a1654249035c54

上段がgit-ninja2で修正した内容、下段はgit-ninjaで修正した内容だ。 どちらが本来残すべきロジックなのかを開発者同士、相談の上、ファイルを修正してコミットすることが重要だ。 くれぐれも、このままコミットしてpushしてしまうことはないように気をつけてくれ。
twitterのアイコン
活動記録をTweetする

甲賀

なら実務レベルで使えるスキルを
体系的に学ぶことが可能です

Web制作学習は、決して楽ではありませんが
「正しい方向で」「コツコツ」と続ければ、
必ずスキルアップする事が可能です。

甲賀では、挫折せずに学習を継続するための
カリキュラム・サポート体制をご用意しています。

↓↓↓↓

ステップバイステップで
着実にスキルが身につくカリキュラム

  • step 01
    初心者でもよく分かる!
    Web制作の基礎の基礎
    • 1.知っておこうWeb制作に関する基礎知識の話

    • 2.HTMLの書き方や役割を基礎から学ぶマークアップ入門

    • 3.CSSで挫折しない為の基礎学習【超重要プロパティ】

    • 4.基礎を終えたらHTMLコーディングを鍛えよう(デザインから)

    • 5.初心者向けHTMLコーディング完全解説(STEP1総まとめ)

  • step 02
    真似して覚えるWeb制作
    (デザイン〜プログラミングまで)
    • 1.属性ってなに?などなどHTML,CSSの深堀り編

    • 2.デザイナーから直接学ぶ猫ちゃんサイトのデザイン解説

    • 3.鎧模写-YOROIMOSYA【銅の鎧】

    • 4.JavaScriptで学ぶプログラミングの基本のきほん【16項目】

  • step 03
    動きをつけたり、効率化!
    脱初心者を目指すためのスキルを学ぼう
    • 1.jQueryの基本的な使い方から応用まで【プラグイン解説あり】

    • 2.Web制作でCSSを簡単に書くためのSASS入門【小技あり】

    • 3.現場で使うCSS設計の考え方参考サイトを元に解説

    • 4.生のJavaScriptだけで英単語アプリを作ろう(音声読み上げ付き)

  • step 04
    ここまでくれば中級者!
    ちょこっと応用編のWeb制作
    • 1.JavaScriptの屋敷【鳳凰の間】

    • 2.JavaScriptで作るLINE風チャットボット

    • 3.コマンドラインとアプリ操作を同時に学べるGit【15選】

    • 4.EJSを使いコーディング力を中級者まで引き上げる

  • step 05
    実務で必須の制作スキル
    WordPressについて学ぶ
    • 1.鎧模写-YOROIMOSYA【銀の鎧】

    • 2.PHPを基礎から学びたい人向け14項目から学ぶ【入門】

    • 3.PHPで簡易的な掲示板を作ってみよう【コーディングあり】

    • 4.甘えを吹き飛ばす!WordPress開発

    • 5.WordPressで¥400,000の案件を徹底解説!

    • 6.WordPress有料テーマSnow Monkeyの解体書

甲賀を詳しく見る

プログラミングスキルが
一気に上がる!
有料級の解説動画19本
を今なら無料でGETできる!

忍者CODEの公式LINE登録後
LINE内にあるURLよりご覧になれます

  • プログラミング本気で学習してる方
  • もちろん完全無料で且つ手続き不要
  • 将来プログラミングで稼ぎたい方
  • 動画解説で真剣に学びたい方
スキルアップ動画をGET