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

1 Star2 Stars3 Stars4 Stars5 Stars (まだ評価されていません)
Loading...

はじめに

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


1 Star2 Stars3 Stars4 Stars5 Stars (まだ評価されていません)
Loading...
      この投稿は審査処理中  | 元のサイトへ