動態

詳情 返回 返回

Linux下版本控制器(SVN) -命令行客户端 - 動態 詳情

image.png
@[toc]

進階知識-Linux下版本控制器(SVN)

5、命令行客户端

5.1 創建兩個工作區目錄模擬兩個開發人員

mkdir -p /root/workspace/harry
mkdir -p /root/workspace/sally

5.2 檢出

  • 作用:完整下載版本庫中的全部內容。
  • 命令:

    svn checkout svn://192.168.70.140/pro_oa ./
  • 附加效果

    • 在指定目錄下創建.svn目錄
    • 保存本地目錄和文件狀態信息,用來和SVN服務器進行交互
  • 工作副本

    • .svn所在的目錄
    • 版本控制相關操作都需要在工作副本目錄下執行。例如:提交、更新等等這樣的操作。
    • 為了保證工作副本能夠正常和服務器進行交互,請不要刪除或修改.svn目

錄中的內容。

5.3 添加

  • SVN要求提交一個新建的文件前先把這個文件添加到版本控制體系中。

    svn add文件名

5.4 提交

  • 要求1:附加日誌信息

    • 日誌信息相當於寫Java代碼時的註釋,用來標記本次操作所做的修改。
    svn commit -m "xxx" [文件名]
  • 要求2:必須具備相應的權限

    • 使用文本編輯器打開版本庫根目錄/conf/svnserve.conf文件

    在這裏插入圖片描述

[root@rich harry]# svn commit hello.txt
svn:提交失敗(細節如下):svn:“/root/workspace/harry/hello.txt”尚未納入版本控制
[root@rich harry]# svn add hello.txt
A hello.txt
[root@rich harry]# svn commit hello.txt
svn:提交失敗(細節如下):
svn:無法使用外部編輯器獲得日誌信息;考慮設置環境變量 $SVN_EDITOR,或者使用--message (-m)或 --file (-F)選項
svn:沒有設置 SVN_EDITOR,VISUAL或 EDITOR環境變量,運行時的配置參數中也沒有“editor-cmd”選項
[root@rich harry]# svn commit -m "My first commit" hello.txt
svn:提交失敗(細節如下):
svn:認證失敗
[root@rich harry]# svn commit -m "My first commit" hello.txt
增加 hello.txt
傳輸文件數據.
提交後的版本為 1。

5.5 查看服務器端文件內容

[root@rich harry]# svn list svn://192.168.70.140/pro_oa
good.log
hello.txt

5.6 更新操作

  • 作用:把服務器端文件所產生的所有修改下載到本地
命令:svn update [文件名]

5.7 衝突

5.7.1 過時的文件
  • 概念:在一個相對服務器端版本來説是舊版本的基礎上進行了修改的文件。
  • 要求:所有過時的文件都必須先執行更新操作,更新後在最新版基礎上修改的

文件才允許提交。

5.7.2 衝突的產生
  • 條件1:本地當前編輯的文件已經過時。
  • 條件2:從服務器端更新下來的修改和本地的修改在“同文件同位置”不一致。
5.7.3 衝突的表現
  • 文件內

在這裏插入圖片描述

  • 目錄內

在這裏插入圖片描述

xxx.mine文件:發生衝突時本地文件內容
xxx.r[小版本號]文件:發生衝突前文件內容
xxx.r[大版本號]文件:發生衝突時服務器端文件內容

5.7.4 衝突的手動解決
  • 第一步:刪除衝突發生時產生的三個多餘文件
  • 第二步:刪除衝突文件內多餘的符號
  • 第三步:把文件編輯到滿意的狀態
  • 第四步:提交
5.7.5 衝突的半自動解決
  • 設置SVN_EDITOR環境變量

在這裏插入圖片描述

vim /etc/profile
-------------------------------------------
SVN_EDITOR=/usr/bin/vim
export SVN_EDITOR
-------------------------------------------
source /etc/profileecho $SVN_EDITOR
  • 解決的過程

    • 使用e選項進入文件內容編輯界面

      在這裏插入圖片描述

  • 進入vim編輯器編輯文件內容

    在這裏插入圖片描述

  • 編輯完成後使用r選項標記為已解決

    在這裏插入圖片描述

5.7.6 減少衝突的發生
  • 儘可能在修改文件前先進行更新操作,儘量在最新版基礎上修改文件內容。
  • 儘量減少多人修改同一個文件的可能性。
  • 加強團隊成員之間的溝通。

本人其他相關文章鏈接

1.Linux下版本控制器(SVN) -服務器端環境搭建步驟
2.Linux下版本控制器(SVN) -命令行客户端

user avatar u_16776161 頭像 ting_61d6d9790dee8 頭像 u_16018702 頭像 u_17569005 頭像 sovitjs 頭像 u_17397181 頭像 u_15641375 頭像 jianweilai 頭像 rivers_chaitin 頭像 haoqingwanqiandesigua 頭像 puxiaoke6 頭像 huidadebianpao 頭像
點贊 36 用戶, 點贊了這篇動態!
點贊

Add a new 評論

Some HTML is okay.