チュートリアル3 変更履歴の統合
競合状態でプッシュする
サルGitに従って「tutorial」と「tutorial2」を使って競合状態を作ります。
tutorialでの作業
tutorialにあるsample.txtを開いて次のように追加し、コミットします。

次にリポジトリを切り替えます。
tutorial2での作業
先ほどと同様にtutorial2にあるsample.txtを開いて次のように追加し、コミットします。
サルでもわかるgitコマンド ver.2
add 変更をIndexに登録します
Pull リモートリポジトリの内容を取得します
コミットしたら、そのままtutorial2からプッシュします。

tutorialでの作業
次にリポジトリをtutorialに切り替えて、先ほどコミットした内容をリモートリポジトリにプッシュします。
すると・・・
競合が発生した!と怒られて(エラーによりプッシュを拒否)されてしまいました・・・
競合を解決する
tutorialでの作業
まずは競合の原因となっているソースをリモートリポジトリからプルします。
競合が発生したことを示すダイアログが表示されます。
そこで、sample.txtの中身を確認してみると・・・
なにやら見慣れないものが追加されています。
どうやらGitが競合の発生した箇所に勝手に修正を入れているようです。
そこで余計なマーカー行を削除し、取り込みたい変更点だけを残します。
ファイルの内容を変更したのでコミットする必要があります。
ファイルをインデックスに追加してから、コミットします。

これでリモートリポジトリから最新の変更内容の取り込みが完了しました。
これでようやくリモートリポジトリへプッシュできるようになりました!
早速プッシュしてみると・・・
無事にリモートリポジトリに競合を解決した状態で反映されました。
めでたし、めでたし。