svn常用命令與分支操作

 svn基本使用

1. 創建版本庫:

Java代碼
  1. Svnadmin create repos  
Svnadmin create repos

2. 修改配置文件
Auth文件   

Java代碼
  1. [groups]   
  2. admin=shguo   
  3. [/]   
  4. @admin=rw   
  5. *=r  
[groups]
admin=shguo
[/]
@admin=rw
*=r


Passwd文件
Java代碼
  1. [users]   
  2. shguo=shguo  
[users]
shguo=shguo


Svnserve.conf文件
Java代碼
  1. anon-access = read   
  2. auth-access = write   
  3. password-db = passwd   
  4. authz-db = authz  
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz

注意:要去掉前面的空格不然會報,認證配置失敗
3. 啓動:

Java代碼
  1. svnserve –d –r repos  
svnserve –d –r repos


4. 創建目錄
Java代碼
  1. Svn mkdir svn://127.0.0.1/repos/ -m “mkdir”   
  2. Svn mkdir svn://127.0.0.1/repos/sns/  -m “mkdir”   
  3. Svn mkdir svn://127.0.0.1/repos/sns/trunk  -m “mkdir”   
  4. Svn mkdir svn://127.0.0.1/repos/sns/branches -m “mkdir”   
  5. Svn mkdir svn://127.0.0.1/repos/sns/tags  -m “mkdir”  
Svn mkdir svn://127.0.0.1/repos/ -m “mkdir”
Svn mkdir svn://127.0.0.1/repos/sns/  -m “mkdir”
Svn mkdir svn://127.0.0.1/repos/sns/trunk  -m “mkdir”
Svn mkdir svn://127.0.0.1/repos/sns/branches -m “mkdir”
Svn mkdir svn://127.0.0.1/repos/sns/tags  -m “mkdir”

5. 導入項目:
Java代碼
  1. Svn import sns svn://127.0.0.1/repos/sns/trunk/ –m “init project”   
  2. 查看:svn list svn://127.0.0.1/repos/sns/trunk/  
Svn import sns svn://127.0.0.1/repos/sns/trunk/ –m “init project”
查看:svn list svn://127.0.0.1/repos/sns/trunk/


6. 導出項目開發:
Java代碼
  1. Svn checkout svn://127.0.0.1/repos/sns/trunk/ sns  
Svn checkout svn://127.0.0.1/repos/sns/trunk/ sns

7. 進入目錄就可以進行開發操作了
Java代碼
  1. Cd sns   
  2. Svn status   
  3. Svn add  new.txt   
  4. Svn commit –m ‘commit’  
Cd sns
Svn status
Svn add  new.txt
Svn commit –m ‘commit’

Svn log new.txt
其它一些命令:
Java代碼 
  1. Svn update    
  2. Svn diff –r m:n path   
  3. Svn lock some.java or svn unlock some.java   
  4. Svn revert    
  5. Svn add /delete / copy / move   
  6. Svn switch –relocate svn://xxxx/one   svn://xxxx/two   
  7. Svn list path  
Svn update 
Svn diff –r m:n path
Svn lock some.java or svn unlock some.java
Svn revert 
Svn add /delete / copy / move
Svn switch –relocate svn://xxxx/one   svn://xxxx/two
Svn list path


Svn中分支的使用
1. 創建分支

Java代碼
  1. Svn cp    
  2. http://svn.shguo.com/repos/sns/trunk/  http://svn.shguo.com/repos/sns/branches/101128_sns_imageUpload_shguo   
  3.  -m “shguo_branch”  
Svn cp 
http://svn.shguo.com/repos/sns/trunk/  http://svn.shguo.com/repos/sns/branches/101128_sns_imageUpload_shguo
 -m “shguo_branch”

也可以通過 TortoiseSVN 中的Branch/tag來創建分支

2. 取出分支來開發

Java代碼
  1. Svn co    
  2. http://svn.shguo.com/repos/sns/branches/101128_sns_imageUpload_shguo    
  3. 101128_sns_imageUpload_shguo  
Svn co 
http://svn.shguo.com/repos/sns/branches/101128_sns_imageUpload_shguo 
101128_sns_imageUpload_shguo

3. 開發完成後向主幹提交

檢查需要合併的分支的歷史:
Java代碼
 
svn log --stop-on-copy -q    
  1. http://svn.shguo.com/repos/sns/branches/101128_sns_imageUpload_shguo  
svn log --stop-on-copy -q 
http://svn.shguo.com/repos/sns/branches/101128_sns_imageUpload_shguo


合併:
Java代碼
 
svn merge –r   
  1. 16:HEAD    
  2. http://svn.shguo.com/repos/sns/branches/101128_sns_imageUpload_shguo  
svn merge –r
16:HEAD 
http://svn.shguo.com/repos/sns/branches/101128_sns_imageUpload_shguo


檢查衝突:
svn status
如果有解決衝突,沒有就svn commit命令就可以完成提交
====2011.04.10
1. 批量增加svn文件
Java代碼
  1. svn add `svn st |grep ? |awk '{print $2}'`   
  2. svn st |grep ? |awk '{print $2}' |xargs svn add  
svn add `svn st |grep ? |awk '{print $2}'`
svn st |grep ? |awk '{print $2}' |xargs svn add


2. 批量增加svn:ignore屬性
Java代碼
  1. svn propset svn:ignore  -F ~/.svnignore -R /app/work/app1  

感覺複製過來效果不好樣,貼個出處:http://yidianfengfan.iteye.com/blog/829713 覺得有用,看不太清楚的可以去這裏看。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章