您好,登錄后才能下訂單哦!
接續“基于SVN構建版本機及所遇到的問題-1”。
2、發布
項目右鍵菜單“發布”后,并修改文件夾:
點擊“發布”按鈕,輸出窗口提示如下:
進入資源管理器查看本地項目目錄:
Publish目錄還是問號,先后執行Add(右鍵彈出菜單-->ToitorseSVN-->Add)和Commit(右鍵彈出菜單-->Commit),變為綠勾:
交付人員可以在其他PC上使用TortoiseSVN來checkout這個發布目錄,并部署之。
SVN多半都是由許多人共同使用。同樣的檔案可能還有人會去進行編輯。為了確保工作目錄中的代碼文件與Repository是同步的。在編輯前都先進行更新的動作。前提是:已經將代碼文件check out過一次。
?
假設另外一個同事通知你修改了Program.cs,則點擊Program.cs右鍵彈出菜單的“Update”:
執行Update后顯示:
表示更新完成。
?
盡管推薦按文件更新,但是萬一不知道更新了哪個文件,可以執行解決方案的右鍵彈出菜單的“Update”,來更新整個解決方案。
如果想要回退到某個老版本,可以使用該功能:
執行后:
點擊“Show log”:
點擊版本1確認:
執行OK:
成功更新到版本1.
建立分支的目的可能有:
(1)開發分支:從主干復制一份來修改,修改完了后合并到主干。
(2)老版本分支:老版本已經封閉,新版本準備開發,但是老版本還需要修改需要修改,于是從主干分出一份來繼續老版本的修改。
(3)測試版本/正式版本分支:發布軟件測試版本或者正式版本,用來測試部署或者正式部署。
(4)補丁版本分支:因為bug還需要建個補丁,不包括全部文件,保留需要更新的文件即可。
?
后兩種實際上都是Release,這些版本有特別的意義,特別的Milestone或是release給客戶的版本。后兩種都不需要merge回trunk中。舉例來說,今天我們的trunk做了一版,這個版本被認定是軟件的1.0版。1.0版對于開發來說是一個非常重要的里程碑。所以我們要特別為他做一個標記,亦即Tag。假設,這個 1.0版是要正式release給客戶或是相關vendor,我們要可以為他做一個Release的標記。基本上,SVN只有目錄的概念,并沒有什么 Tag的用法。所以SVN的菜單上面,Branch與Tag是同一個菜單。以這個1.0的例子來說,就是在Trunk上面,按下鼠標右鍵,選擇Branch/Tag的菜單。
?
首先,建個branches目錄,并Add,Commit,結果如下:
然后,右鍵菜單:
執行“Branch/tag...”:
上圖的“Log Message”應該輸入一些說明文字。點擊OK后:
分支V1.1建立成功,但是要先更新branches目錄才能看到:
下圖看到branches目錄是空的:
執行update后看到:
還可以指定版本建立分支:
在開發分支上開發的代碼文件往往需要合并到主干(trunk)中,有時候老版本分支和補丁分支也需要合并到主干中。
?
5.2節建立的項目的主干在哪里?實際上就是D:\測試項目\TestProject。
?
先修改V1.1這個branch的文件:
上圖的Program.cs正在修改中或者是代碼文件在本地已經被修改,圖標上的感嘆號就是這個意思。Commit后表示V1.1和主干不同了。
?
在資源管理器該目錄下空白處右鍵:
執行“Merge...”:
選擇第一個,“next >”:
在“URL to merge from”下面,點擊“...”選擇需要合并分支。
在“Revision range to merge”中指定需要合并的revision,這里選擇版本5。
點擊“Next...”:
點擊“Test merge”先測試一下:
這表示合并很可能不會錯誤,確認后返回,點擊“Merge”:
進入主干目錄:
感嘆號表示Program.cs已經被修改了。檢查一下內部代碼,即可提交。
?
當有兩個人同時編輯一個文件,第一個人提交時是正常的,第二個人提交時會提示更新工作副本,點確定更新時會出現版本沖突。當一個文件出現沖突時,文件的圖標為×××的感嘆號。
提交后提示錯誤:
再如:
對于每個沖突的文件,SVN在你的目錄下放置了三個文件:
這個時候,一種選擇:先Update再提交。但是,可能會在代碼文件中出現:
<<<<<<< .mine
? ? ? ?6666666666666600000
=======
? ? ? 66666666666aaaaaaaaaa666
>>>>>>> .r16
?
所以,最好是選擇revert:
這時候,放棄了自己的修改。然后再使用備份文件重新修改回來。
?
還有兩種選擇:
1、在沖突提示上右鍵菜單有三個選項:
(1)直接標記已解決,相當于忽略;
(2)以theirs為準,就是放棄自己,承認其他人修改的
(3)以mine為準,就是堅持自己,拋棄其他人的
2、刪除工作目錄,重新拉取代碼
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。