天天看點

centos7.x搭建svn server

簡介

Subversion(SVN) 是一個開源的版本控制系統, 也就是說 Subversion 管理着随時間改變的資料。這些資料放置在一個中央資料檔案庫(repository) 中。這個檔案庫很像一個普通的檔案伺服器, 不過它會記住每一次檔案的變動。這樣你就可以把檔案恢複到舊的版本, 或是浏覽檔案的變動曆史。

SVN 的一些概念

repository(源代碼庫):源代碼統一存放的地方

Checkout(提取):當你手上沒有源代碼的時候,你需要從repository checkout一份

Commit(送出):當你已經修改了代碼,你就需要Commit到repository

Update (更新):當你已經Checkout了一份源代碼,Update一下你就可以和Repository 上的源代碼同步,你手上的代碼就會有最新的變更

日常開發過程其實就是這樣的(假設你已經Checkout并且已經工作了幾天):Update(獲得最新的代碼) —>作出自己的修改并調試成功 —> Commit(大家就可以看到你的修改了) 。

如果兩個程式員同時修改了同一個檔案呢, SVN可以合并這兩個程式員的改動,實際上SVN管理源代碼是以行為機關的,就是說兩個程式員隻要不是修改了同一行程式,SVN都會自動合并兩種修改。

如果是同一行,SVN會提示檔案Confict, 沖突,需要手動确認。

subversion目錄說明:

db目錄:就是所有版本控制的資料存放檔案。

hooks目錄:放置hook腳本檔案的目錄。

locks目錄:用來放置subversion見艱苦鎖定資料的目錄,用來追蹤存取檔案庫的用戶端。

format檔案:是一個文本檔案,裡面隻放了一個整數,表示目前檔案庫配置的版本号。

conf目錄:是這個倉庫的配置檔案(倉庫的使用者通路賬号、權限等)。

進入conf目錄(該svn版本庫配置檔案)cd conf/

authz 檔案是權限控制檔案

passwd 是帳号密碼檔案

svnserve.conf SVN服務配置檔案

<code>#添加svn賬号,并且禁止登陸</code>

<code>useradd</code> <code>-M -s </code><code>/sbin/nologin</code> <code>svn</code>

<code>#svn開機啟動</code>

<code>cat</code> <code>/lib/systemd/system/svnserve</code><code>.service</code>

<code>[Unit]</code>

<code>Description=Subversion protocol daemon</code>

<code>After=syslog.target network.target</code>

<code>[Service]</code>

<code>Type=forking</code>

<code>EnvironmentFile=</code><code>/etc/sysconfig/svnserve</code>

<code>ExecStart=</code><code>/usr/bin/svnserve</code> <code>--daemon --pid-</code><code>file</code><code>=</code><code>/run/svnserve/svnserve</code><code>.pid $OPTIONS</code>

<code>[Install]</code>

<code>WantedBy=multi-user.target</code>

<code>#找到 svn 的 service 環境配置檔案 /etc/sysconfig/svnserve 編輯配置檔案</code>

<code>#将 OPTIONS="-r /var/svn" 改為 svn 版本庫存放的目錄</code>

<code>cat</code> <code>/etc/sysconfig/svnserve</code>

<code># OPTIONS is used to pass command-line arguments to svnserve.</code>

<code># </code>

<code># Specify the repository location in -r parameter:</code>

<code>OPTIONS=</code><code>"-r /var/svn/svnrepos"</code>

<code>#設定開機啟動</code>

<code>systemctl </code><code>enable</code> <code>svnserve.service </code>

<code>systemctl start svnserve.service</code>

<code>systemctl restart svnserve.service </code>

<code>#ps -aux | grep 'svn'</code>

--------------------------------------------------------

用戶端連接配接

windows tortoisesvn 下載下傳

<a href="https://tortoisesvn.net/downloads.html" target="_blank">https://tortoisesvn.net/downloads.html</a>

<a href="https://s3.51cto.com/wyfs02/M01/96/53/wKiom1kf3NbQGOTnAAA0l1V7HQw280.png" target="_blank"></a>

參考:https://yq.aliyun.com/articles/83737

]

本文轉自 yanconggod 51CTO部落格,原文連結:http://blog.51cto.com/yanconggod/1927768

繼續閱讀