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檔案回退到上一個版本"
*/
相關文章
- laravel多租戶之artisan命令列使用介紹Laravel命令列
- Tmux 終端命令列介紹UX命令列
- netcat 命令介紹及使用示例
- Hadoop進階命令使用介紹Hadoop
- 【Linux】jq 命令介紹和使用Linux
- linux Shell 命令列-01-intro 入門介紹Linux命令列
- installer 命令介紹
- 專案中使用SVN簡介
- Linux useradd 命令介紹Linux
- Shell echo命令介紹
- Linux xargs命令介紹Linux
- Shell 陣列介紹陣列
- AWK 陣列介紹陣列
- 達夢資料庫Disql用法詳解之Disql命令列命令用法介紹資料庫SQL命令列
- 用nodejs寫一個命令列應用-package.json介紹NodeJS命令列PackageJSON
- 簡單介紹 ldd 命令
- Linux重啟命令介紹Linux
- js--陣列的reduce()方法的使用介紹JS陣列
- linux伺服器安裝svn超詳細介紹Linux伺服器
- SVN的簡介
- sftp常用命令介紹FTP
- Linux常用命令介紹Linux
- 【Redis】常用命令介紹Redis
- RPM常用命令介紹
- Linux 關機命令介紹shutdownLinux
- linux基本命令介紹(二)Linux
- linux基本命令介紹(一)Linux
- Zookeeper 四字命令介紹
- 簡單介紹Lua一維陣列與多維陣列的使用陣列
- 全面介紹JavaScript陣列方法JavaScript陣列
- ES6 陣列介紹陣列
- 使用netsh命令來管理IP安全策略(詳細介紹)
- 【Linux】Linux命令快速學習神器tldr、cheat介紹和使用Linux
- Bootstrap Blazor 元件介紹 Table (二)自定義模板列功能介紹bootBlazor元件
- Bootstrap Blazor 元件介紹 Table (一)自動生成列功能介紹bootBlazor元件
- Bootstrap Blazor 元件介紹 Table (三)列資料格式功能介紹bootBlazor元件
- CMinpack使用介紹
- Tmux使用介紹UX