LoginSignup
4
4

More than 5 years have passed since last update.

初心者のためのGitとSourceTree 〜サルでもわかるGit入門を試してみた〜 その4

Posted at

チュートリアル3 変更履歴の統合

競合状態でプッシュする

サルGitに従って「tutorial」と「tutorial2」を使って競合状態を作ります。

tutorialでの作業
tutorialにあるsample.txtを開いて次のように追加し、コミットします。

sourcetree_40.jpg

sourcetree_42.jpg

次にリポジトリを切り替えます。

tutorial2での作業
先ほどと同様にtutorial2にあるsample.txtを開いて次のように追加し、コミットします。

サルでもわかるgitコマンド ver.2
add 変更をIndexに登録します
Pull リモートリポジトリの内容を取得します

コミットしたら、そのままtutorial2からプッシュします。

sourcetree_44.jpg

tutorialでの作業
次にリポジトリをtutorialに切り替えて、先ほどコミットした内容をリモートリポジトリにプッシュします。
すると・・・
sourcetree_45.jpg

競合が発生した!と怒られて(エラーによりプッシュを拒否)されてしまいました・・・

競合を解決する

tutorialでの作業

まずは競合の原因となっているソースをリモートリポジトリからプルします。
sourcetree_47.jpg

すると・・・
sourcetree_46.jpg

競合が発生したことを示すダイアログが表示されます。
そこで、sample.txtの中身を確認してみると・・・

sourcetree_48.jpg

なにやら見慣れないものが追加されています。
どうやらGitが競合の発生した箇所に勝手に修正を入れているようです。
そこで余計なマーカー行を削除し、取り込みたい変更点だけを残します。
sourcetree_49.jpg

ファイルの内容を変更したのでコミットする必要があります。
ファイルをインデックスに追加してから、コミットします。
sourcetree_50.jpg

sourcetree_51.jpg

これでリモートリポジトリから最新の変更内容の取り込みが完了しました。
これでようやくリモートリポジトリへプッシュできるようになりました!
早速プッシュしてみると・・・
sourcetree_52.jpg

無事にリモートリポジトリに競合を解決した状態で反映されました。

めでたし、めでたし。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4