企業級SVN常用命令總結
svn :subversion 程式碼版本管理,集中式管理。區別git,git是分散式管理。
一. 檢出與匯出的區別
檢出 checkout 與 匯出 export 的區別,checkout會有一個.svn(庫程式碼的log資訊都在這目錄裡面)的隱藏目錄,能與庫程式碼產生關聯,而export沒有.svn目錄,故不能與版本庫產生關聯。
二. SVN其他重要操作
1.拉分支:
a. copy to
從主幹trunk中copy to出當前的問題單到分支 branches(最好建有自己的工作目錄)中
b. checkout
從branches中找到自己的目錄中的問題單,然後checkout該問題單到本地的目錄中。
c.修改
修改問題單確認無誤後,再提交
d.commit
一定確認問題無誤後,就可以commit該問題單到,branches自己的工作目錄下
2.合主幹
a.checkout
從庫的trunk中找到該問題單,然後checkout出那份問題單到本地。
b.merge
右擊merge該問題單,就會讓你填路徑,此時路徑就是讓你在前面commit上去的目錄。
拉分支,合主幹這樣做的好處在面對大型專案的時候每個人都有自己的不同分工,以免庫中檔案過大,或者有和自己問題單無關的問題單checkout出來,浪費時間和精力。
3.衝突conflict解決
原因:checkout的程式碼和當前版本庫的版本號不一致,導致commit不上去。
解決方法:產生衝突會多出現幾個差異檔案,可以通過log 和找到其他修改過該檔案的人,然後商量決議,最終選著一個版本,然後右擊resolve就會解決衝突,別忘記commit,才會更改庫程式碼。
4.get lock 和release lock
當你對一個檔案修改的時候,不允許其他人修改,這時候就可以右擊get lock,這樣別人就無法和你同時修改該檔案,只有等你lock release 釋放鎖的時候,別人才能對其進行修改。
三. SVN常用命令總結
svn co http:***/trunk //拷貝主線程式碼
svn ci test.c -m "commit test.c" //提交test.c 程式碼
svn up //更新最新程式碼
svn cp http:***/trunk http:***/My_Branches -m "copy trunk to my branches" //拷貝trunk分支到My_branches 分支
svn diff -r 1234:1235 //檢視版本號1234到1235的差異
svn info //檢視版本資訊
svn log |more //檢視SVN日誌
svn st -q //檢視修改檔案清單
svn merge http:***/A -r 1000:1005 //需先拉去一份B分支程式碼, 在B分支上執行該命令,就是把A分支上版本號1000到1005 //的差異合到B分支上
svn resolved conflict.c //解決衝突檔案conflict.c 檔案
svn revert -R * //回退所有修改