天天看點

如何使用SVN協調代源代碼,多人同步開發

1.什麼是SVN

SVN是一種版本管理系統,前身是CVS,是開源軟體的基石。即使在溝通充分的情況下,多人維護同一份源代碼的一定也會出現混亂的情況,版本管理系統就是為了解決這些問題。

2. SVN中的一些概念

a. repository(源代碼庫)

源代碼統一存放的地方

b. Checkout(提取)

當你手上沒有源代碼的時候,你需要從repository checkout一份

c. Commit(送出)

當你已經修改了代碼,你就需要Commit到repository

d. Update (更新)

當你已經Checkout了一份源代碼, Update一下你就可以和Repository上的源代碼同步,你手上的代碼就會有最新的變更

日常開發過程其實就是這樣的(假設你已經Checkout并且已經工作了幾天):Update(獲得最新的代碼) –>作出自己的修改并調試成功 –> Commit(大家就可以看到你的修改了)

聰明的讀者很快就要發問,如果兩個程式員同時修改了同一個檔案呢?SVN可以Merge這兩個程式員的改動,對,合并,實際上SVN管理源代碼是以行為機關的,就是說兩個程式員隻要不是修改了同一行程式,SVN都會自動合并兩種修改。如果是同一行呢,SVN會提示檔案Confict, 沖突,需要手動确認。

3.示範一下如何使用

Coollittlethings實際上就是提供一個SVN Repository的伺服器

下面有文字以及截圖說明一下如何使用SVN這樣一個超級工具,可以讓我們一起來修改同一份代碼

我以我新建立的了一個共同制作blogger模版的項目為例,有興趣的朋友可以和我聯系一起來就修改blogger模版,你也可以上傳你的模版,讓我來幫你改,^_^

第一步Checkout

a.首選你需要有一個Coollittlethings的帳号,確定你具有該項目的權限

c. 從Coollittlethings上Checkout源代碼。

TortoiseSVN是一個資料總管的插件,安裝完成以後,滑鼠郵件點任何檔案夾或者桌面都有TortoiseSVN的菜單項

選擇SVN Checkout

如何使用SVN協調代源代碼,多人同步開發

d.填寫源代碼的SVN路徑和本地檔案夾

這個是我在Coollittlethings上建立的一個模版項目

e.填寫你的Coollittlethings的帳号和密碼

第二步,修改程式檔案,這裡是模版的HTML檔案,我自然是用DW拉

Checkout下來的檔案都會有一個版本管理的标志

然後用編輯器修改程式,比如這裡我隻是用Dreamweaver小改了一下,也可以用VS.net, Eclipse等等

儲存以後更改過的檔案會有一個!号的标志

第三步,Commit

确認(程式調試成功)以後,你就可以Commit到源碼庫上去了

Commit的時候可以簡單說一下你的改動,比如這裡我告訴大家我簡單改了一下css

好了,如果是另外一個程式員他之前已經Checkout了源代碼,那他早上起來可以先同步一下源代碼Update

Show一下Log就可以看到别人改了什麼。

把檔案放在同一個伺服器上就解決了代碼同步的問題,聰明的同學又會問,那如果兩個人同時修改了一個檔案呢?

Good Question! 這個時候SVN對源代碼的管理是細緻到行為最小機關的,就是說,如果兩個人改的不是同一行代碼,另外一個程式Update一下,那所有的修改就被合并呢, 比如說我修改了程式的上半部分并commit了,king修改了下半部分, 這個時候,king隻要update,那我修改的那一部分就被合并了進來,king手上的就是最新版本。

那如果是修改了同一行呢? Good Question 2! 這個時候SVN就會顯示沖突,需要手工修改,SVN的文檔第一句話就是SVN不能代替程式員之間的溝通。

沒有整理與歸納的知識,一文不值!高度概括與梳理的知識,才是自己真正的知識與技能。 永遠不要讓自己的自由、好奇、充滿創造力的想法被現實的架構所束縛,讓創造力自由成長吧! 多花時間,關心他(她)人,正如别人所關心你的。理想的騰飛與實作,沒有别人的支援與幫助,是萬萬不能的。

    本文轉自wenglabs部落格園部落格,原文連結:http://www.cnblogs.com/arxive/p/6400026.html,如需轉載請自行聯系原作者

繼續閱讀