SVN命令列使用介紹
1.對專案進行初始化工作
/*
01 需要連線到遠端的SVN倉庫,把倉庫下載到自己的電腦上
$ svn checkouthttp://172.16.181.128/svn/XMG/--username=manager --password=manager
02 切換到Code路徑中,建立Main.m檔案
$ touch Main.m
03 檢視本地倉庫中檔案的狀態
$ svn status //? 表示該檔案沒有被SVN管理
04 把新建立的檔案納入到SVN的管理者,檢視檔案狀態
$ svn add Main.m //A 表示該檔案被新增到SVN
05 把本地倉庫的更改(建立新的檔案)提交到遠端的伺服器
$ svn commit -m "建立了Main檔案" Main.m //注意每次提交的時候都需要寫上註釋
06 修改Main.m檔案
$ echo "Main.m檔案" > Main.m
07 檢視檔案的狀態
$ svn status //M 表示該檔案被修改
08 把本地的更改提交到遠端的伺服器
$ svn commit -m "修改了檔案" Main.m
*/
2.SVN命令列刪除檔案
/*
01 專案經理刪除Main.m檔案,檔案狀態為D
$ svn remove Main.m
02 把本地的更改(刪除操作)提交到遠端的伺服器
$ svn commit -m "刪除了檔案" Main.m
*/
3.SVN相關命令列的簡寫
/*
checkout -- co
status -- st
commit -- ci
remove -- rm
update -- up
*/
4.檢視版本資訊
/*
01 首先需要更新獲得最新的倉庫資訊
$ svn update |svn up
02 檢視倉庫的版本資訊
$ svn log
*/
5.新同事張三加入開發涉及操作
/*
01 張三加入公司開發,分配SVN賬號,賬號=密碼=zhangsan,並且設定許可權
02 張三連線到遠端的伺服器,把倉庫下載到本地
$ svn checkouthttp://172.16.181.128/svn/XMG/--username=zhangsan --password=zhangsan
03 張三切換路徑到Code,建立Dog.h Dog.m 檔案
$ touch Dog.h Dog.m
04 檢視檔案的狀態(? 注意新建立的檔案預設是不會自動被SVN管理的)
$ svn status
05 把新新增的檔案納入到SVN的管理中
$ svn add Dog.h Dog.m |svn add *(表示把當前檔案路徑中所有的檔案都新增到SVN版本庫中)
06 張三把本地的更改提交到遠端的倉庫
$ svn commit -m "建立了狗類" Dog.h Dog.m //可以不跟具體的檔名,如果不寫那麼表示把所有的更改提交
07 專案經理更新獲得最新的程式碼
$ svn update
08 專案經理修改Dog.h檔案.往檔案中輸入內容-hello Dog!
$ echo "hello Dog" >Dog.h
09 專案經理把更改提交到遠端的倉庫
$ svn commit -m "修改了檔案輸入hello Dog" Dog.h
10 張三更新獲得最新的倉庫資訊
$ svn update
*/
6.多人開發的時候可能會產生衝突
/*
01 專案經理往Dog.h檔案中的第二行中寫入資料 "你好,我是專案經理",把更改提交到遠端的倉庫
$ svn commit -m "輸入你好,我是專案經理字串" Dog.h
02 如果張三沒有更新程式碼,就直接修改了同一個地方
$ svn commit -m "輸入我是張三字串" Dog.h
==error== is out of date 該檔案過期:如果當前的版本低於伺服器的版本那麼無法提交成功
03 張三需要先更新獲得最新的倉庫資訊
$ svn update //產生了衝突
*/
7.解決衝突01-使用tc
/*
//tc 使用伺服器端的資料內容來覆蓋掉我本地的資料內容
解決衝突02-使用mc
//mc 以我的為準,用本地的資料內容覆蓋掉伺服器端的,版本號 + 1
//+ 還需要做一次提交
$ svn commit -m "解決了衝突以mc的方式" Dog.h
解決衝突03-使用postpone(resolved)
//p 手動的解決衝突
(1) 開啟有衝突的檔案,把衝突解決(刪除特殊字元)
(2) 通過命令列告訴SVN已經手動的把衝突解決了 $ svn resolved Dog.h
(3) 把更改提交到遠端的倉庫 $ svn commit -m "解決衝突使用p" Dog.h
*/
8.SVN版本回退操作(revert|merge)
/*
版本回退的兩種情況:
01 本地的程式碼做了修改,該修改還沒有提交到遠端倉庫,取消更改
$ svn revert Dog.h
02 本地的程式碼做了修改,該修改已經被提交到遠端倉庫,回退到上一個版本
[1] 回到指定的版本 svn update -r版本號
$ svn update -r14
$ svn commit -m "Dog檔案回退到上一個版本" Dog.h //直接提交沒有反應(不能使用這種方式版本回退)
[2] 版本回退
(1)先更新獲得最新的版本 $ svn update
(2)用指定版本的內容來覆蓋當前版本的內容
$ svn merge -r15:r14 Dog.h //表示使用第14個版本的Dog.h檔案內容來覆蓋掉第15個版本的內容
(3)還需要把更改提交到遠端倉庫
$ svn commit -m "Dog檔案回退到上一個版本"
*/
相關文章
- 使用SVN命令列工具命令列
- 2—-svn介紹和常用命令
- Geth的命令列介紹命令列
- svn命令列工具安裝使用(windows)命令列Windows
- laravel多租戶之artisan命令列使用介紹Laravel命令列
- Tmux 終端命令列介紹UX命令列
- MyCAT的命令列監控工具介紹命令列
- Windows下SVN命令列工具使用詳解(附加TortoiseSVN)Windows命令列
- rpm命令的使用介紹
- SVN使用和SVN常用命令
- MySQL Utilities工具介紹和命令列總結MySql命令列
- Windows強大的命令列工具wmic介紹Windows命令列
- 詳解Linux命令列下常用svn命令Linux命令列
- C/C++—— 分析命令列引數的getopt()函式使用介紹C++命令列函式
- Hadoop進階命令使用介紹Hadoop
- 【Linux】jq 命令介紹和使用Linux
- Ldd命令介紹及使用方法
- SRVCTL命令介紹
- docker 命令介紹Docker
- tar命令介紹
- netcat 命令介紹及使用示例
- Shell 陣列介紹陣列
- AWK 陣列介紹陣列
- linux下svn命令的使用Linux
- svn常用命令列和批處理命令列
- 專案中使用SVN簡介
- svn命令
- Linux Grep命令使用的詳細介紹Linux
- linux Shell 命令列-01-intro 入門介紹Linux命令列
- Shell echo命令介紹
- HBase shell 命令介紹
- installer 命令介紹
- 達夢資料庫Disql用法詳解之Disql命令列命令用法介紹資料庫SQL命令列
- js--陣列的reduce()方法的使用介紹JS陣列
- Linux下ulimit命令的詳細使用介紹LinuxMIT
- 詳細介紹Linux finger命令的使用Linux
- linux下svn命令使用大全(share)Linux
- Linux xargs命令介紹Linux