日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

svn 分支上新增文件合并发生冲突_SVN使用:分支合并及解决冲突详解

發布時間:2023/12/31 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 svn 分支上新增文件合并发生冲突_SVN使用:分支合并及解决冲突详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、什么是SVN

SVN是Subversion的簡稱,是一個開放源代碼的版本控制系統,相較于RCS、CVS,它采用了分支管理系統,它的設計目標就是取代CVS。

二、SVN的下載安裝

安裝完不要忘記重啟電腦

安裝完成后,按下鼠標右鍵,會看到如下界面:

說明SVN已經安裝成功了。

三、SVN的常用操作

1、遷出配置庫內容(SVN Checkout)

1)新建或進入目錄下(比如E盤),右鍵 →SVN Checkout

2)URL of repository 填寫倉庫路徑即可

3)Revision處,“HEAD revision”是指最新版,也可以指定Revision為任意一個版本。

4)點擊“OK”按鈕后,在彈出的對話框中輸入用戶名和密碼,驗證成功后,項目文件開始從遠程服務器下載到本地工作目錄中:

5)點擊“確定”按鈕后,即可獲取完成,出現如下下載界面:

6)下載完成后,服務器上所有內容會出現在本地文件夾下

2、更新文件(SVN Update)

1)當從配置庫遷出相應目錄后,他人對服務器上此目錄內容進行了修改,則需要再次獲取改動內容到本地目錄的過程稱為更新。更新可以針對一個文件、幾個選中的文件或者整個文件目錄。

選中要被更新的文件,右鍵選擇“SVN Update”項,如下:

2)點擊“SVN?Update”后會彈出窗口顯示更新的進度,如下:

若上述框中的有文件出現亮紅,說明來自配置庫的內容與你本地修改內容合并時出現了沖突

3、提交更新(SVN Commit)

1)本地文件修改后,若是需要更新到服務器上,則需要提交(Commit)最新的更新。

Commit的作用是將本地最新修改的文件同步到SVN服務端,供其他人來參考或者使用,當然使用之前,要先Update一下,來確保是最新的,在修改文件上擊右鍵,出現菜單,選擇“SVN Commit…”,如下:

2)然后填寫關于本次更新的日志(log message),這是必填項,否則commit會失敗,如下:

3)當出現下圖所示提示框,則表明剛剛的修改已成功提交,并且當前的SVN版本號加1。

4、增加文件(Add)

1)將需要增加的新文件放入到本地遷出的文件夾TestManger目錄的相應位置中,鼠標選中新文件右鍵選擇“Tortoise SVN”的“Add”項,如下圖所示:

2)鼠標選中TestManger文件夾右鍵選擇“SVN Commit…”,將新文件上傳配置庫對應文件夾中(若只上傳單個文件,只需點中單個文件上傳即可)。

5、檢查更新(Check for modifications)

1)此功能可以顯示本地對文件所做的修改有哪些還沒有提交。不光能看到對文件的修改變化,還包括增加文件或目錄,刪除文件或目錄,移動文件或目錄等。當他人提交了哪些文件的改動,也可通過此項來進行查詢。

6、刪除文件(Delete)

1)選中要被刪除的文件,右鍵選擇“Tortoise SVN”的“Delete”項,如下:

2)刪除文件后,鼠標選中TestManger文件夾右鍵選擇“SVN Commit…”項進行提交,提交方式同增加文件的提交方式,提交后則將新文件從配置庫中刪除。

7、撤銷更改(Revert)

在修改了某些文件后(文件未上傳到配置庫),需要返回到修改前的狀態,則選中文件夾右鍵選擇“Tortoise SVN”的“Revert...”項進行撤銷,本地硬盤上的文件將恢復到修改前的內容,修改的內容將被刪除。

8、鎖定和解鎖(Get lock and Release lock)

當項目需要時可以在本地硬盤中將遷出的內容進行鎖定,選中要被鎖定的文件右鍵選擇“Tortoise SVN”的“Get?lock...”項進行鎖定(鎖定后他人將無法修改此文件),系統彈出鎖定信息框。?? 當文本文件鎖定后,需要通過解鎖他人才能繼續對文件進行修改。

選中被鎖定的文件右鍵選擇“Tortoise SVN”的“Release?lock…”項進行解鎖。

9、重命名文件(Rename)

修改文件名,選中需要重命名的文件或文件夾,然后右鍵“Tortoise SVN”的“Rename”,在彈出的對話框中輸入新名稱,點擊“OK”按鈕,并將修改文件名后的文件或文件夾“SVN Commit…”提交到SVN服務器上。

10、獲取歷史文件(Show log)

Show log顧名思義是顯示日志的作用,主要是顯示該文件或者該目錄被執行的操作,是被誰修改了,以及修改的時間和日期。鼠標選中文件夾右鍵選擇“Tortoise SVN”的“Show?log”項,系統彈出此路徑下的所有文件版本信息,如下:

四、SVN的分支合并及沖突的解決方法

1)svn多分支合并主干方法

分支a合并到本地主干后,本地主干提交代碼到svn主干,這時主干版本改變,分支b再提交代碼到主干會報沖突,版本不統一,這時的解決辦法是:方法1.將主干代碼合并到分支b,提交分支b代碼到主干即可。方法2.將分支b代碼合并到分支a,提交分支a代碼到主干即可。總之,要避免主干提交后,主干和另一分支的版本沖突問題即可。

2)svn多分支合并主干沖突:svn Working copy and merge source not ready for reintegration

猜測原因:分支主干版本不一致,導致同一文件被認為是不同文件,所以無法合并(A,B兩文件合并時也報此錯)

解決方法:

分支合并主干產生沖突問題:?svn Working copy and merge source not ready for reintegration

錯誤信息

Working copy and merge source not ready for reintegrationsvn: 'svn://xxx/TestImpl.java@4530'?must be ancestrally related to'svn://xxx/TestImpl.java@4394'?Merge completed abnormally.?在使用svn的merge過程中,遇到了N多的麻煩?這次遇到的麻煩的具體表現為:?在主干合并分支中的代碼,報錯?解決辦法為:?假如需要合并的文件名為:TestImpl.java?1.在主干的文件上,右鍵->Team->Copy->選擇分支的路徑->OK.?2.到分支的文件夾中找到新copy進來的文件,就是Copy Of TestImpl.java?3.把分支的TestImpl.java改名為TestImpl2.java?4.把Copy Of TestImpl.java改名為TestImpl.java?5.把TestImpl2.java的內容全部覆蓋掉TestImpl.java中的內容?6.把TestImpl.java文件名中的TestImpl2全部改為TestImpl?7.刪除Copy Of TestImpl.java?8.提交分支的TestImpl.java?9.在主干的TestImpl.java上進行合并.這個時候svn就不報錯了,可以正常的合并代碼了?這個錯誤造成的原因,應該是主干與分支的文件,沒有關聯關系.通過以上步驟,相當于是給主干和分支建立了關聯關系,他們有了主次關系,才能進行合并.?可是有一點不明白的是,我分支的TestImpl.java是新建的,并且已經通過merge給了主干,但是改了分支后,再在主干merge的時候,卻報出了以上的錯誤。

3)分支合并主干示例 (附例)

1.主干工程右鍵選擇 merge 合并下一步

2.選中 merge two different trees 下一步

3.from 主干版本路徑,版本號選擇分支分出去的版本號

to 合并的分支目錄,版本號一般最新版本

下一步

4.選擇屬性,一般直接下一步即可

5.下一步完成。若無沖突直接主干提交代碼即可。

若存在沖突解決辦法,個人建議使用最后一種解決沖突

Mark as conflicted. I will deal wiht it later. --標記沖突,合并到主干解決沖突

Resolve the conflict by using my version of the file.? --直接用主干的文件覆蓋,分支修改無效

Resolve the conflict by using the incoming of the file. --直接用分支修改覆蓋主干,以分支為準

Let me edit the file? with conflict markers inserted. --直接編輯沖突,編輯完保存,選擇yes保存。

Launch a graphical conflict? resolution editor.--直接比對文件,修改沖突,點擊保存。選擇yes解決沖突

歡迎來到技術之家,

如需轉載,煩請保留本文鏈接和出處:http://www.jszja.com/contents/35/1502.html

您的支持將是我們前進的動力!如對本篇文章有疑問或建議,請通過本站下方郵箱聯系我們,讓技術之家每天進步一點點!(●'?'●)

總結

以上是生活随笔為你收集整理的svn 分支上新增文件合并发生冲突_SVN使用:分支合并及解决冲突详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。