代碼管理平臺介紹、安裝svn、客戶端上使用svn(linux)、客戶端上使用svn(windows)

 代碼管理平臺介紹

代碼管理平臺介紹--svn

  • 版本控制,記錄若干文件內容變化,以便未來查閱特定版本修訂狀況.
    好比某一個業務,須要不斷更新,好比產品經理這周提交了產品新的需求,改動了一些代碼,咱們把新的代碼上傳到服務器上去,這時候去訪問網站就產生了新的變化. 可能咱們天天都有不少的代碼須要更新,假如某天想要看幾個月前某個業務都更新了哪些地方、都改了哪些功能,想要作一個統計,那就須要去翻看日誌,若是這些日誌存在還能找到,若這些日誌都不存在,那麼前面的變動就什麼都不知道了. 有了這些代碼管理平臺以後,能夠便咱們查看前面作了哪些變動以及記錄,且支持協同開發.
     
  • Svn全稱subversion,是一個開源版本控制系統,最初母的是爲了更好管理Linux內核代碼
  • Git和svn不一樣在於Git不須要依賴服務端就能夠工做,即git是分佈式的.
  • GitHub是基於Git的線下web頁面代碼託管品臺,能夠選擇付費服務
  • GitLab能夠認爲是一個開源的GitHub,二者沒有直接關係

安裝sv 

準備兩臺機器:192.168.2.115 -- 服務端
                        192.168.2.116 -- 客戶端git

下載服務端

[root@root-01 ~]# yum install -y subversion


建立版本庫

建立版本庫的目錄:
[root@root-01 ~]# mkdir -p /data/svnroot/myproject


初始化:
[root@root-01 ~]# svnadmin create /data/svnroot/myproject


初始化後會生成配置文件等:
[root@root-01 ~]# ls -la /data/svnroot/myproject
總用量 8
drwxr-xr-x 6 root root  86 10月 23 11:38 .
drwxr-xr-x 3 root root  23 10月 23 11:34 ..
drwxr-xr-x 2 root root  54 10月 23 11:38 conf
drwxr-sr-x 6 root root 233 10月 23 11:38 db
-r--r--r-- 1 root root   2 10月 23 11:38 format
drwxr-xr-x 2 root root 231 10月 23 11:38 hooks
drwxr-xr-x 2 root root  41 10月 23 11:38 locks
-rw-r--r-- 1 root root 229 10月 23 11:38 README.txt


配置文件目錄:
[root@root-01 ~]# cd /data/svnroot/myproject/conf/
[root@root-01 conf]# ls
authz  passwd  svnserve.conf
說明:authz 文件是用來控制權限的
    passwd 文件是用來定義密碼的
    svnserve.conf 是倉庫的配置文件

編輯authz文件 

vim authz


在[groups]下面添加:

Anna = user1,user2           Anna是用戶組,用戶組包含了兩個用戶(user1和user2)

[/]                          方括號裏面的根指的是這個目錄:/data/svnroot/myproject/conf/
@Anna = rw                   Anna用戶組可讀可寫
* = r                        除了Anna用戶組,其餘的可讀

另外一種方式:
[myproject:/]                [myproject:/] 這表示一個項目,這種方式用在svnroot目錄下有多個項目,也就是指定某個項目
user1 = rw


編輯passwd文件

[root@root-01 conf]# vim passwd 


[users]
# harry = harryssecret
# sally = sallyssecret

添加用戶名和密碼:
Anna = 123456
user1 = 586898
user2 = 586898


注:前面是用戶名,後面是密碼

編輯svnserve.conf

vim svnserve.conf

在[general]下面添加:

anon-access = none             anon--匿名用戶 沒有任何權限
auth-access = write            auth--被受權的用戶 可寫
password-db = passwd           指定用戶密碼的文件是passwd
authz-db = authz               指定用戶權限的文件是authz
realm = /data/svnroot/myproject   表示對應哪一個項目生效

啓動svn 

啓動:
[root@root-01 conf]# svnserve -d -r /data/svnroot/

查看進程:
[root@root-01 conf]# ps aux |grep svn
root       3877  0.0  0.0 162188   656 ?        Ss   13:48   0:00 svnserve -d -r /data/svnroot/
root       3882  0.0  0.0 112664   968 pts/0    S+   13:57   0:00 grep --color=auto svn

查看監聽端口3690:
[root@root-01 conf]# netstat -nlpt |grep svn
tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN      3877/svnserve

 

客戶端上使用svn(Linux)


下載客戶端

說明:客戶端下載subversion就可使用svn命令web

[root@root-02 ~]# yum install -y subversion

 檢索

檢索:
[root@root-02 ~]# cd /home
[root@root-02 svn]# svn checkout svn://192.168.2.115/myproject --username=user1
認證領域: <svn://192.168.2.115:3690> /data/svnroot/myproject
「user1」的密碼: 

-----------------------------------------------------------------------
注意!  你的密碼,對於認證域:

   <svn://192.168.2.115:3690> /data/svnroot/myproject

只能明文保存在磁盤上!  若是可能的話,請考慮配置你的系統,讓 Subversion
能夠保存加密後的密碼。請參閱文檔以得到詳細信息。

你能夠經過在「/root/.subversion/servers」中設置選項「store-plaintext-passwords」爲「yes」或「no」,
來避免再次出現此警告。
-----------------------------------------------------------------------
保存未加密的密碼(yes/no)?yes
取出版本 0。
[root@root-02 home]# ls
myproject

客戶端更新的文件上傳到服務端

說明:是在客戶端操做vim

[root@root-02 ~]# cd /home/myproject

拷貝文件:
[root@root-02 myproject]# cp /etc/favicon.png .


增長:
[root@root-02 myproject]# svn add ./favicon.png 
A  (bin)  favicon.png

上傳到服務端:
[root@root-02 myproject]# svn commit -m "add favicon.png"
正在增長 (二進制) favicon.png
傳輸文件數據.
提交後的版本爲 2。


查看服務端

服務端本地是沒法顯示剛客戶端上傳的文件:
[root@root-01 ~]# cd /home/svntest/myproject
[root@root-01 myproject]# ls


升級能夠看到客戶端上傳的文件:
[root@root-01 myproject]# svn up
正在升級 '.':
A    favicon.png
更新到版本 2。
[root@root-01 myproject]# ls
favicon.png


客戶端上使用svn(windows)

下載svn

svn官網:https://tortoisesvn.net/windows

點擊DE EN ZH --> 點擊下載 --> 根據系統下載32位或64位bash


下載完成後點擊打開,全部都點擊下一步

在桌面建立一個目錄,命名爲myproject

點擊右鍵,看看有沒有紅色框框內的兩個圖標,若沒有的話,重啓電腦服務器

點擊svn checkout

說明: 紅色框框內的IP地址和目錄須要填寫 --->點擊oktcp

點擊ok後會彈出認證對話框 

填寫用戶名和密碼 -->點擊ok分佈式

最後還會彈出一個對話框,點擊ok便可

checkout後,myproject目錄就有兩個文件svn

 

把客服端的1.txt上傳到服務端

建立1.txt --> 點擊右鍵Tortoise SVN -->點擊Add -->點擊SVNcommit -->會彈出一個對話框,要填寫add 1.txt -->點擊ok --> 再點擊ok網站

查看服務端,升級後就有1.txt

[root@root-01 ~] cd /home/svntest/myproject

升級:
[root@root-01 myproject]# svn up
正在升級 '.':
A    1.txt
更新到版本 5。
[root@root-01 myproject]# ls
123.txt  1.txt  favicon.png  fstab  test.txt

在Linux上建立11.txt,上傳到服務端

[root@root-01 myproject]# vim 11.txt
[root@root-01 myproject]# svn add 11.txt
A         11.txt
[root@root-01 myproject]# svn commit -m "add 11.txt"
正在增長       11.txt
傳輸文件數據.
提交後的版本爲 6。

Windows要想查看這個文件,點擊右鍵SVNUpdate便可

相關文章
相關標籤/搜索