接續(xù)“基于SVN構(gòu)建版本機(jī)及所遇到的問題-1”。
創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供蒸湘網(wǎng)站建設(shè)、蒸湘做網(wǎng)站、蒸湘網(wǎng)站設(shè)計(jì)、蒸湘網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、蒸湘企業(yè)網(wǎng)站模板建站服務(wù),十多年蒸湘做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。2、發(fā)布
項(xiàng)目右鍵菜單“發(fā)布”后,并修改文件夾:
點(diǎn)擊“發(fā)布”按鈕,輸出窗口提示如下:
進(jìn)入資源管理器查看本地項(xiàng)目目錄:
Publish目錄還是問號,先后執(zhí)行Add(右鍵彈出菜單-->ToitorseSVN-->Add)和Commit(右鍵彈出菜單-->Commit),變?yōu)榫G勾:
交付人員可以在其他PC上使用TortoiseSVN來checkout這個(gè)發(fā)布目錄,并部署之。
SVN多半都是由許多人共同使用。同樣的檔案可能還有人會(huì)去進(jìn)行編輯。為了確保工作目錄中的代碼文件與Repository是同步的。在編輯前都先進(jìn)行更新的動(dòng)作。前提是:已經(jīng)將代碼文件check out過一次。
假設(shè)另外一個(gè)同事通知你修改了Program.cs,則點(diǎn)擊Program.cs右鍵彈出菜單的“Update”:
執(zhí)行Update后顯示:
表示更新完成。
盡管推薦按文件更新,但是萬一不知道更新了哪個(gè)文件,可以執(zhí)行解決方案的右鍵彈出菜單的“Update”,來更新整個(gè)解決方案。
如果想要回退到某個(gè)老版本,可以使用該功能:
執(zhí)行后:
點(diǎn)擊“Show log”:
點(diǎn)擊版本1確認(rèn):
執(zhí)行OK:
成功更新到版本1.
建立分支的目的可能有:
(1)開發(fā)分支:從主干復(fù)制一份來修改,修改完了后合并到主干。
(2)老版本分支:老版本已經(jīng)封閉,新版本準(zhǔn)備開發(fā),但是老版本還需要修改需要修改,于是從主干分出一份來繼續(xù)老版本的修改。
(3)測試版本/正式版本分支:發(fā)布軟件測試版本或者正式版本,用來測試部署或者正式部署。
(4)補(bǔ)丁版本分支:因?yàn)閎ug還需要建個(gè)補(bǔ)丁,不包括全部文件,保留需要更新的文件即可。
后兩種實(shí)際上都是Release,這些版本有特別的意義,特別的Milestone或是release給客戶的版本。后兩種都不需要merge回trunk中。舉例來說,今天我們的trunk做了一版,這個(gè)版本被認(rèn)定是軟件的1.0版。1.0版對于開發(fā)來說是一個(gè)非常重要的里程碑。所以我們要特別為他做一個(gè)標(biāo)記,亦即Tag。假設(shè),這個(gè)1.0版是要正式release給客戶或是相關(guān)vendor,我們要可以為他做一個(gè)Release的標(biāo)記。基本上,SVN只有目錄的概念,并沒有什么Tag的用法。所以SVN的菜單上面,Branch與Tag是同一個(gè)菜單。以這個(gè)1.0的例子來說,就是在Trunk上面,按下鼠標(biāo)右鍵,選擇Branch/Tag的菜單。
首先,建個(gè)branches目錄,并Add,Commit,結(jié)果如下:
然后,右鍵菜單:
執(zhí)行“Branch/tag...”:
上圖的“Log Message”應(yīng)該輸入一些說明文字。點(diǎn)擊OK后:
分支V1.1建立成功,但是要先更新branches目錄才能看到:
下圖看到branches目錄是空的:
執(zhí)行update后看到:
還可以指定版本建立分支:
在開發(fā)分支上開發(fā)的代碼文件往往需要合并到主干(trunk)中,有時(shí)候老版本分支和補(bǔ)丁分支也需要合并到主干中。
5.2節(jié)建立的項(xiàng)目的主干在哪里?實(shí)際上就是D:\測試項(xiàng)目\TestProject。
先修改V1.1這個(gè)branch的文件:
上圖的Program.cs正在修改中或者是代碼文件在本地已經(jīng)被修改,圖標(biāo)上的感嘆號就是這個(gè)意思。Commit后表示V1.1和主干不同了。
在資源管理器該目錄下空白處右鍵:
執(zhí)行“Merge...”:
選擇第一個(gè),“next >”:
在“URL to merge from”下面,點(diǎn)擊“...”選擇需要合并分支。
在“Revision range to merge”中指定需要合并的revision,這里選擇版本5。
點(diǎn)擊“Next...”:
點(diǎn)擊“Test merge”先測試一下:
這表示合并很可能不會(huì)錯(cuò)誤,確認(rèn)后返回,點(diǎn)擊“Merge”:
進(jìn)入主干目錄:
感嘆號表示Program.cs已經(jīng)被修改了。檢查一下內(nèi)部代碼,即可提交。
當(dāng)有兩個(gè)人同時(shí)編輯一個(gè)文件,第一個(gè)人提交時(shí)是正常的,第二個(gè)人提交時(shí)會(huì)提示更新工作副本,點(diǎn)確定更新時(shí)會(huì)出現(xiàn)版本沖突。當(dāng)一個(gè)文件出現(xiàn)沖突時(shí),文件的圖標(biāo)為×××的感嘆號。
提交后提示錯(cuò)誤:
再如:
對于每個(gè)沖突的文件,SVN在你的目錄下放置了三個(gè)文件:
這個(gè)時(shí)候,一種選擇:先Update再提交。但是,可能會(huì)在代碼文件中出現(xiàn):
<<<<<<< .mine
? ? ?6666666666666600000
=======
? ? 66666666666aaaaaaaaaa666
>>>>>>> .r16
所以,最好是選擇revert:
這時(shí)候,放棄了自己的修改。然后再使用備份文件重新修改回來。
還有兩種選擇:
1、在沖突提示上右鍵菜單有三個(gè)選項(xiàng):
(1)直接標(biāo)記已解決,相當(dāng)于忽略;
(2)以theirs為準(zhǔn),就是放棄自己,承認(rèn)其他人修改的
(3)以mine為準(zhǔn),就是堅(jiān)持自己,拋棄其他人的
2、刪除工作目錄,重新拉取代碼
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
文章題目:基于SVN構(gòu)建版本機(jī)及所遇到的問題-2-創(chuàng)新互聯(lián)
地址分享:http://vcdvsql.cn/article0/dshpoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、微信公眾號、域名注冊、ChatGPT、網(wǎng)站內(nèi)鏈、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容