今までsvnを用いてバージョン管理をしてきたのですが,最近Gitの勉強を開始しました。
その際に,Gitの仕様(?)で不思議に思ったことがあります。
例として, 佐藤さんと鈴木さんの二人の作業者がいたとして,以下のようなファイルの修正をしたとします。
作業は同一のブランチ(master)で実施(update/commit/pull/push)しています。
void functionA(int argA){
// 佐藤さんがこの部分を実装
}
void functionB(int argB){
// 鈴木さんがこの部分を実装
}
svnで以下のような流れ:
- 佐藤さんがcommit
- 鈴木さんがupdate
- 鈴木さんがcommit
を実施した場合, 特にマージという操作は発生しません。
ログにも2回分のログしか残りません。
しかし,Gitで同じことをしようとした場合:
A. 佐藤さんが add > commit > push
B. 鈴木さんが pull
の時点で2人の作業をドッキングしたというログが発生してしまいます。
(私の操作手順が間違っているだけかもしれませんが。。。)
できれば,svnのように,競合が発生していない限り,
システム側で自動的にマージ作業を実施し,ログを残して欲しくないのですが,
Gitの仕様上,「2人の作業をドッキングしました」というログは必ず残ってしまうものなのでしょうか?
質問の内容がわかりにくく,幼稚な文章をなってしまい,申し訳ありません。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/15 14:26
2017/01/15 16:53
2017/01/16 12:56