SVN版本控制學習

1.基本介紹
什麼是SVN,能解決什麼問題?

一、 代碼管理混亂。
二、 解決代碼衝突困難。
三、 在代碼整合期間引發BUG。
四、 無法對代碼的擁有者進行權限控制。
五、 項目不同版本發佈困難。
......
管理思想
在一臺服務器上建立一個倉庫,倉庫裏可以存放許多不同項目的源程序,建議使用:也可以一個倉庫對應一個項目。
由倉庫管理員統一管理這些源程序.這樣,就好象只有一個人在 修改文件一樣.避免了衝突.
每個用戶在使用倉庫之前,首先要把倉庫裏的項目文件下載到本地。
用戶做的任何修改首先都是在本地進行,然後用 SVN 命令進行提交,
這樣就可以做到跟蹤文件變化,衝突控制等等。 

2.服務端
****svn的服務器端環境安裝:
a.subversion+apache
b.visualsvn-server
安裝到那個目錄:D:\SVN\VisualSVN Server\
倉庫的存放位置:D:\SVN\VisualSVN Server\Repositories\
服務器端口:81


創建組,用戶,配置組使用倉庫的權限
創建倉庫:http://192.168.1.168:81/svn/bbs
trunk:主幹,是日常開發進行的地方,是不穩定的代碼。
branches:分頁控件,上傳組件:分支,一些階段性的release版本,這些版本是可以繼續進行開發和維護的.
tags:項目版本,目錄一般是隻讀的,這裏存儲階段性的發佈版本,只是作爲一個里程碑的版本進行存檔。

3.客戶端基本操作
SVN客戶端安裝和漢化
1.添加文件:added
 a.選中文件,或者文件夾,點擊添加按鈕,藍色+號
 b.回到添加文件夾的父級目錄,直接點擊提交

2.提交:commit
提交之前:必須先update

3.檢出:checkout。
檢出:http://192.168.1.168:81/svn/bbs
第一次與服務器建立聯繫

4.更新:update

5.導入:import
a.先從http://192.168.1.168:81/svn/bbs/trunk檢出由svn工程,在拷貝項目文件,提交
****b.選中要導入的項目文件夾,右鍵導入http://192.168.1.168:81/svn/bbs/trunk,
刪除原項目文件,使用eclipse導入包含svn信息的項目工程

4.其他操作

*****1.解決衝突
兩個人同時修改一個文件同一行(不是同一行合併),
如果第一個人提交後,第二個人是不能直接提交該文件的。主要原因是爲了防止第二個把第一個人的勞動成果乾掉。
當文件產生衝突的時候,SVN是無法自動幫你解決衝突,
你必須自己去判斷該如何解決這樣的衝突。
解決衝突的過程:
先提交發現有衝突->
用更新的方式得到解決衝突的參考文件-->
根據參考文件解決衝突-->
告訴SVN衝突已經被解決(選中文件夾,點擊已解決:刪除衝突的參考文件)->
提交文件。

2.鎖文件:一般不建議鎖的,公共的dao,service不能讓其他修改
只要是鎖的文件的人沒有解鎖,別人就不能修改此文件
那個用戶鎖的文件,就只有自己才能解鎖

3.忽略文件,不被SVN管理
****a.選中文件夾,通過右鍵菜單(增加一個忽略列表)來忽略某個文件或文件夾(此文件夾是包含svn信息)
b.通過設置,用通配符來忽略一批文件*.class。

***4.設置必須填寫提交的日誌信息
在svn工程裏面,點擊屬性,新建一個屬性tsvn:logminsize

5.查看日誌和獲取以前版本

6.去除.svn的配置信息
a.使用window的搜索.svn,在刪除
*****b.導出:選中svn文件夾,右鍵導出,選擇沒有版本的文件內容

***7.重新定位
   原來svn的服務器地址http://localhost:81/svn/ssh
現在svn的服務器地址做了修改:http://192.168.1.250:81/svn/ssh

        8.分支:備份里程碑版本
          把trank開發版本作爲一個正式版 tags目錄1.0
          先選中trank目錄,右鍵點擊分支,修改http://localhost:81/svn/bbs/tags/1.0  
  
*****5.SVN的Eclipse插件
svn eclipse插件安裝
1.help-inserl...
2.eclipse\dropins\site-1.6.17
3.eclipse\dropins\svn.link


-------------------------------------------
上班第一件事情:從服務器把最新的代碼更新update到自己機器
下班最後一件事情:做完一個功能就提交代碼到svn,
提前20-30分鐘把自己機器代碼提交commit到svn服務器,解決文件衝突的問題
不要一天的代碼寫完之後,在下班的時候才提交,按照功能提交代碼,並且寫好註釋.




5.SVN圖標的意義。
  藍色問號:詢問是否要納入SVN做管理。
  藍色加號:該文件和SVN上的文件不一致,需要你提交該文件到SVN上去。(代表是新建的文件)
  綠色的勾:該文件和SVN上得文件一致
  紅色的感嘆號:該文件和SVN上得文件內容不一致。(代表是文件受到更改)
  黃色感嘆號:代表文件有衝突。
  灰色的減號:該文件或文件夾被SVN忽略掉,SVN不會對它進行任何管理。
  紅色的叉:該文件在SVN上最新版中不存在了。我們需要UPDATE才能把本地的文件刪除掉。
  黃色的鎖:表示當前文件被鎖了,別人就不能修改了。




struts2 svn地址
http://svn.apache.org/repos/asf/struts/struts2/trunk
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章