2012年11月30日 星期五

衝突(conflict)

A。衝突的產生及解決。
image
上圖為,衝突(conflict)的範例。有一專案為二個人處理(Sally、Harry)。首先由專案經理在SVN server建立其Repository
接著由Harry及Sally複制一份(checkout)到本機上,而他們所處理的程序都不一樣故產生('A及''A)二份。
並且由Sally先做commit的到SVN server(ver 2),之後在Harry想要做上傳(commit)時會發生不是最新版本。
(Harry 改第1~3行,Sally 改3~4行 或者 二者改的地方是不同處等情況)。
image
Lock-Modify-Unlock,即文件只能一個人可以去存取方式來避免Confilct問題。
其缺點,在於它太過於不便。因為它只能有一個人可以去checkout故在其時間點上,
它人不可以取得檔案。而且若Harry忘了去unlock時,其它人也沒有方法來update。
所以這種方法在於其於專案管理(文件)時不適合的。
image
Copy-Modify-Merge,其程序如下所示(其Harry 及Sally修改地方不一樣)才比較適合用。
而當其內容相同時,則需另外處理。
 
image

B。版本控管]TortoiseSVN 使用,還原特定版本的異動
將資料還原到某一版本修改之前。
image
image
 image
image

image
image
image
image
image
image

只要是和別人做事,一定會起衝突(conflict)。而問題不只是避免衝突,而更重要的是要處理衝突。
SVN 衝突(conflict)的介紹與解決
http://www.cc.ntut.edu.tw/~wkchen/game/SVN%20documents/SVNConflictOverview.pdf

TortoiseSVN使用簡介

http://www.dev.idv.tw/mediawiki/index.php/TortoiseSVN%E4%BD%BF%E7%94%A8%E7%B0%A1%E4%BB%8B

版本控管]TortoiseSVN 使用,還原特定版本的異動

http://demo.tc/Post/712

TortoiseSVN 更新時發生衝突如何解決(上)

http://demo.tc/Post/708

沒有留言:

張貼留言