版本控制軟件:
CVS VSS SVN
CVS:多個用戶可以同時工作.效率高,但團隊中的每個人都可以修改核心代碼,
VSS:只能由一用戶修改,可以鎖定核心代碼,但效率低
SVN:結合兩者,
由于SVN沒有自己的遠程管理工具,只能上服務器上用命令行操作,故操作起來比較復雜。為此,svn俱樂部開發出svn管家對svn進行遠程管理,svn管家推出了windows版本和linux版本,部署很方便,不用安裝額外的環境如mysql、PHP或JAVA。svn管家不僅可以方便的遠程修改用戶密碼,更可以對svn進行遠程管理,極大地方便了SVN的用戶。
.SVN優缺點和Git有優缺點的比較
優點:
1、 管理方便,邏輯明確,符合一般人思維習慣。
2、 易于管理,集中式服務器更能保證安全性。
3、 代碼一致性非常高。
4、 適合開發人數不多的項目開發。
缺點:
1、 服務器壓力太大,數據庫容量暴增。
2、如果不能連接到服務器上,基本上不可以工作,看上面第二步,如果服務器不能連接上,就不能提交,還原,對比等等。
3、 不適合開源開發(開發人數非常非常多,但是Google app
engine就是用svn的)。但是一般集中式管理的有非常明確的權限管理機制(例如分支訪問限制),可以實現分層管理,從而很好的解決開發人數眾多的問題。
.Git優缺點
優點:
1、適合分布式開發,強調個體。
2、公共服務器壓力和數據量都不會太大。
3、速度快、靈活。
4、任意兩個開發者之間可以很容易的解決沖突。
5、離線工作。
缺點:
1、學習周期相對而言比較長。
2、不符合常規思維。
3、代碼保密性差,一旦開發者把整個庫克隆下來就可以完全公開所有代碼和版本信息。
怎么使用SVN:
1,本地建庫
用命令提示符進入到Subversion的安裝目錄下的share目錄下,創建svnrepo庫,創建以下命令:
svnadmin create suvrepo
2,修改配置文件,開啟密碼訪問
share目錄下有個svnrepo目錄,打開svnrepo目錄下的conf目錄,打開svnserve.conf文件,把password-db = passwd前的#去掉,PS.anon-access = read表示匿名訪問為只讀
3添加賬戶
打開passwd文件,在[users]
# harry = harryssecret
# sally = sallyssecret?? 后面添加一行?? zn=123456
表示添加了一個用戶,前面的是用戶名zn,后面的是密碼123456。
4,啟動Subersion服務器
在命令提示符中運行以下命令,-d是后臺運行,-r是root用戶,超級管理員
suvserve -d -r svnrepo
5客戶端TortoiseSVN查看代碼
啟動服務以后,我們可以在任何空白處右鍵,選擇TortoiseSVN- > Repo-browser,
輸入svn://localhost回車后,會顯示你需要輸入賬號密碼,就是剛才設置的用戶名zn,密碼123456,進去后就可以看到本地的svn庫中的項目代碼。這里4個項目,是我自己已經創建的。
6,如果想查看遠程機器上的svn代碼,比如輸入SAE上一個應用的svn地址,就可以看到代碼了。當然,你沒有我的賬號密碼,是看不了我的這個。
7,客戶端TortoiseSVN下載代碼
比如我想把本地的上面那個abc項目的代碼都下載下來,就可以在想放代碼的路徑下,比如我這里放在D盤,空白處右鍵,選擇SVN Checkout…,然后填寫相應的URL svn://loaclhost/abc,下載完后可以看到abc目錄上帶綠色的箭頭。
8,我們可以在abc目錄上右鍵,可以看到其SVN信息,有Subversion中有對應的URL地址等
9.客戶端TortoiseSVN提交代碼
1).添加新文件
2).上傳修改的代碼
這個可以看到,新添加的1.php文件上面沒有小顏色的圖標,修改過的文件index.php會變成紅色。同樣的,你也可以刪除文件。對于修改過的文件,你還可以用TortoiseSVN -> Diff,對比修改前面的代碼。
10.提交的時候,可以回到abc目錄上右鍵,也可以直接在目錄里面空白處右鍵,選擇SVN Commit,寫上提交的原因。這個也是為了以后方便自己查看,你改這些代碼是做什么用的。點擊OK就提交完成了。
11.TortoiseSVN中也可以查看log,查看各版本修改的地方。可以在下載代碼(checkout)的時候,也可以選擇下載哪想版本的代碼。默認是HEAD的。這幾個是最基礎的功能,會這些,平常就可以用了。