衝突とマージ(1)

多少応用的な内容。一つのファイルを複数のユーザが同時に更新するとどうなるでしょうか。 このときに発生するのが「衝突」と「マージ」です。


マージ

マージの例。現在、sandbox/trunk/src/hello/hello.cに対してユーザ「test1」と「test2」が変更を加えています。

test1の変更点

test1はヘルプのメッセージを追加したようです。

test2の変更点

test2は「!」の数を増やしたようです。

先にtest1がコミットします。

test1コミット完了

test1視点でtest2が同ファイルに変更を加えていることを知る術がない為、当然何事もなかったように成功します。

次にtest2がコミットします。

test2コミット失敗

コミットに失敗しました。この状態が「衝突」です。最新を取得しろといっているので取得してみます。

test2マージ完了

自動的にマージされました。改めて差分を確認します。

test2の変更点

うまくマージされているようです。これでコミットしてみましょう。

test2コミット完了

無事コミットできました。


戻る