subversion版本控制系統的搭建和使用

2021-09-23 05:56:08 字數 2651 閱讀 5107

subversion   版本控制系統   主要功能是儲存每一次修改

安裝包:  subversion  

mkdir   /var/svn

svnadmin  create   /var/svn/xixi  ##建立乙個xixi的版本庫

ls /var/svn/xixi

conf/  db/  format  hooks/  locks/  readme.txt

cd  /usr/lib/systemd/system/  

svm import . file:///var/svn/xixi  ##將/usr/lib/systemd/system/的全部內容匯入到svn的目錄裡面

vim  /var/svn/xixi/conf/svnserve.conf

##所有配置檔案,要求頂頭寫,開頭不要有空格。

anon-access=none          ##19行,修改為none,匿名訪問者無任何許可權

autu-access=write         ##20行,有效賬戶可寫

passwd-db=passwd        ##密碼檔案

authz-db=authz          ##34行acl訪問控制列表

vim /var/svn/xixi/conf/passwd

[users]

harry = 123456

##設定使用者名稱和密碼

tom = 123456

vim /var/svn/xixi/conf/authz

[/]  ##定義acl訪問控制   ##一定要加上

rarry = rw

tom = rw

使用subversion協同工作

harry和tom修改不同的檔案

# sed -i "3a ###tom modify#####"  tmp.mount

# svn ci -m  "has modified"

# sed -i "3a ###harry modify#####"  umount.target

# svn ci -m "has modified"

# svn update

# svn update

harry和tom修改相同檔案的不同行

cd harry

sed -i "3a ###tom modify#####" user.slice

svn ci -m  "modified"

sed -i "6a ###harry  modify#####"  user.slice

svn ci -m "modified"        //提交失敗

sending        svnserve

transmitting file data .svn: commit failed (details follow):

svn: file '/user.slice' is out of date(過期)

svn update                    //提示失敗後,先更新再提交即可

svn ci -m "modified"        //提交成功

sending        user.slice

transmitting file data .

harry和tom修改相同檔案的相同行

sed  -i  '1c [unit]' tuned.service

svn ci -m "modified"

sed  -i  '1c [unit]' tuned.service

svn ci -m "modified"

sending        tuned.service

transmitting file data .svn: commit failed (details follow):

svn: file '/tuned.service' is out of date(過期)

[root@web2 mycode]# svn update                    //出現衝突,需要解決

conflict(衝突) discovered in 'tuned.service'.

select: (p) postpone, (df) diff-full, (e) edit,

(mc) mine-conflict, (tc) theirs-conflict,

(s) show all options:p                    //選擇先標記p,隨後解決

[root@web2 mycode]# ls

tuned.service   tuned.service.mine        tuned.service.r10    tuned.service.r9

mv tuned.service.mine tuned.service

m  -rf  tuned.service.r10 tuned.service.r9

svn ci -m "modified"    //解決衝突

使用dump指令備份版本庫資料

svnadmin dump  /var/svn/xixi >  /aa  ##備份

svnadmin   create  /var/svn/haha    ##新建版本庫

svnadmin load /var/svn/haha < aa     ##還原

版本控制系統Subversion

系統提供撤銷的功能對我們實際開發中特別重要。改動後撤銷幾乎也是我們每個人經常做的事情。再多人進行同乙個專案的開發或者測試的時候,版本的唯一性 類似於臨界區資源 也就是說a 和 b 兩個人協同工作的時候不能同時對同乙個檔案改動,並儲存成功。否則就會出現不一致問題。版本控制系統很好的解決了這一問題,並且...

Subversion版本控制資訊的清除

有時候,你可能得到乙份 裡面含有很多的.svn目錄,這就是subversion的版本控制資訊儲存的目錄,如果你只想要源 樹,你就得想麼辦法來清除它們。你可以有很多種方法來實現,這裡提供一種基於windows命令列指令碼的實現。setlocal set startdir cd set a folder...

Subversion 版本管理

最近用了subversion,感覺不錯.來個walkthrough吧 先建乙個專案叫 my project svn mkdir svn 再把這個專案check out到本地當前目錄,別忘了那一點 svn co svn 在本地搗鼓你的專案,如此這搬 my project src main src te...