服務器環境基本上已經搞好,准備着手項目環境的搭建,后繼項目將進入團隊開發的模式,必須得弄個版本管理的工具了。而對於版本管理工具,本人了解得不多,之前只是使用過SVN,那就SVN吧。廢話不多說,進入正題。
了解過SVN的人都知道,svn分為服務端和客戶端。服務端主要是記錄和維護所有客戶端對版本庫進行過的操作,客戶端則是每個開發人員用來進行自己獨立版本的開發。搭建svn服務端的過程並不難。度娘或google,很容易就可以找到相關的資料,因此本文就不再贅訴。本文並不是記錄如何搭建一個svn服務器,而是講一下svn服務端的基本概念和命令的理解。
服務器安裝好subversion(svn服務端)后,svn服務器在工作的時候,首先需要有一個版本庫,版本庫通過 svnadmin create path命令來創建(例如我創建的版本庫svnadmin create /home/svn/pro),此版本庫包含了svn用於版本管理的一些信息,目錄鎖、hook、數據倉庫的信息(即文件目錄結構和文件數據)、基本的配置信息等。conf目錄下,包含了用戶、權限等配置信息的文件。這里不做詳細分析了,想了解的朋友,可以去google下各個配置文件的配置方法,一般都有對配置文件詳細的說明。
建立好版本庫之后,此時版本庫是一個干凈的版本庫。我們要給倉庫添加數據,有兩種方法。
一種是在客戶端svn->add,svn->commit文件的形式,通過svn客戶端給版本庫添加數據。用過SVN的朋友應該都很清楚,這種方法就不再多說。另外一種形式就是通過svn import命令,它的格式是svn import /home/svn/pro /data/myproject -m "注釋"。剛開始用svn import的時候,它讓我迷糊了好久,以上面為例,以為/data/myproject 就是文件版本庫的目錄,在本地工作目錄對版本庫做修改的時候,這個/data/myproject也會隨之改變。而事實完全不是如此,svn服務端在工作的時候,所有的文件信息都是存放在svnadmin create出來的版本庫的數據倉庫中,具體的路徑是版本庫下面的db目錄下(對應上面就是 /home/svn/pro/db)。簡單來說就是,svnimport只是簡單的將指定目錄的數據和結構導入到svn版本庫的數據倉庫(導入數據的同時記錄了被導入數據的目錄結構和文件內容)。svn import 將 /data/myproject導入到版本庫中后,/data/myproject目錄和svn版本庫沒有任何關系,你可以把它刪除,對svn版本庫不會有影響,如果刪除了它,出現使客戶端工作目錄無法更新的情況,重新checkout即可。
開發人員的工作目錄,是一份版本庫的工作拷貝,不同開發人員擁有自己的一個工作目錄。通過客戶端的update、commit等操作進行項目的並行開發。不知不覺,嘮叨了這么多,用過svn或其它版本管理工具的朋友,應該都可以理解它。因為,也不太累贅了。
本人在搭建svn環境的時候,對於它不了解,導致花了不少冤枉時間,查了不少資料才明白,趁着現在還記得,在這里記錄下來,方便以后查閱。本人知識有限,如果有哪些理解有誤的地方,歡迎大家指正,謝謝!
引用:https://www.cnblogs.com/vathena/articles/4356647.html