LoginSignup
3
3

More than 5 years have passed since last update.

Git for Windowsでコンフリクト解決するときの手順

Posted at

はじめに

GithubはGithub for Windowsというグラフィカルなプログラムからも操作できるそうなので、どうなっているのか調査してみました。結果、GUIだけからレポジトリ追記やコンフリクトの解決など、Gitの基本操作をすることができましたので、記事にしてみます。

なお、オンライン書籍ニューラルネットワークと機械学習の翻訳プロジェクトを操作の題材にしています。

(参考にした記事: https://gist.github.com/wizard-paso/4246134)

Gitレポジトリをローカルに取得し、内容を編集する

まず、左側のパネルからGithubでアクセス権のあるレポジトリを、ローカルにクローンとかできます。この後保存先のフォルダを聞かれます。

rapture_20150523160555.png

保存先のファイルには「Open in Explorer」でアクセスできます。

open in explorer.png

さてローカルで何か変更を加えたら、変更を「Show」して

rapture_20150523161142.png

右側にCommit(追加)しようとしている変更がでるので、チェックしてコメントしてCommitを押します。

write-commit-message.png

Commitした結果は、左側のSyncボタンを押すとGithubにpushできます。このSyncボタンの側には、ローカル(手元のパソコン)とリモート(Github)、それぞれのリポジトリの状態が表示されています。下の画像ですと「ローカルはリモートより2コミットぶん進んでいるが、他の2コミットぶん遅れている」と表示されており、このままSyncしてしまうと衝突しそうですが、先に進むには仕方ないのでSyncを押します。

04-sync.png

ローカルとリモートの変更が独立ならば自動的にmerge(統合)されるのですが、今回は運悪く衝突してしまいました。

rapture_20150523165954.png

Conflict(衝突)の解決

衝突箇所は、ソースファイルに以下のような記号で挟まれて記入されます。衝突箇所が複数の場合は、衝突したと解釈されたすべての箇所に以下のメッセージが記入されます。

<<<<<<<<<<<< HEAD
ローカルの変更内容
============ 
リモートの変更内容
>>>>>>>>>>>> リモートブランチの名前

そこで、衝突しているファイルを好みのエディタで開き、衝突している個所を修復していきます。

rapture_20150523170135.png

両方の変更を勘案しながらいいとこどりして、<<<<<<記号なども消し、HTMLファイルとして読める状態にしておきます。ローカルのブラウザで開くなどして、うまく統合できたか動作確認をしましょう。

rapture_20150523170430.png

統合できたらふたたびCommit操作をします。これまでの作業で、ローカルの状態から統合された状態へ遷移するパッチが作れたので、コミットします。

merge-comment.png

すると、ローカルレポジトリがリモートレポジトリにくらべて純粋に「進んでいる」状態まで来ました。こうなったら「Sync」を押せば・・・

sync-ahead.png

変更がGithubに送信され、統合完了です!

syncing.png

Githubにもちゃんと投稿されていることを確認できます。

finished.png

3
3
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
3
3