2015年1月22日木曜日

【ヴァージョン管理システム】コミット→プル→マージ→→プッシュ


Gitやサブバージョンといったヴァージョン管理システムを使って多人数でひとつのプロジェクトをいじる際、よく巻き戻りとかを起こしてしまう。


原因は私にあったようだ。

最近学んだことをメモしておく。

システム:サブヴァージョン
使用ソフト:Tortoise HG

【理解が進んだのでメモ】
コミット:ローカルで自分が行った変更の一覧を作成する。
プル    :リモートで他人によって行われた変更のリストを取得する。
          ここで樹形が枝分かれする。
マージ  :コミットとプルとのふたつの変更リストを突き合わせながら、ふたつを結合する。
          結合した結果、ローカルのレポジトリにそれが反映される。
          ここで樹形が統合される。

----------/ここまでローカルレポジトリの世界/-----------
----------/ここからリモートレポジトリの世界/-----------

プッシュ:マージされた変更を、リモートのリポジトリにアップロードする。



【重要】
枝分かれしてもそれはまだローカルの世界。
枝分かれはプルによって生じる。
プルしてきてもまだそれがいきなりローカルに反映されるわけではない。

コミットもプルも、「候補」である。

マージが重要。
マージによってコミットの候補とプルの候補とを結合する。
マージの結果、樹形が統合される。
マージが終わってもまだそれはローカルの話である。
プッシュによってはじめてリモートに影響が出る。

0 件のコメント:

コメントを投稿