在Win7下安裝完tortoiseSVN軟件,發(fā)現(xiàn)找不到圖標(biāo)了,無(wú)論是右鍵菜單,還是系統(tǒng)桌面,都看不到SVN圖標(biāo),這是怎么回事?要怎么恢復(fù)SVN圖標(biāo)呢?下面我就給大家介紹下Win7系統(tǒng)SVN圖標(biāo)不顯示的解決方法。
寧德網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),寧德網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為寧德上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的寧德做網(wǎng)站的公司定做!
方法一、
1、在文件夾點(diǎn)右鍵,找到svn的設(shè)置里,
2、有個(gè)icon的'選項(xiàng),點(diǎn)第一個(gè)子欄目“圖標(biāo)集”;
3、右側(cè)的樣式原來(lái)的是xpstyle模式的,所以不顯示,改成帶“win7”字樣的就行了。
方法二、
1、在鍵盤(pán)上同時(shí)按下win+R,輸入regedit,調(diào)出注冊(cè)表信息;
2、在打開(kāi)的注冊(cè)表中,按下Ctrl+F,在注冊(cè)表里搜索“ShellIconOverlayIdentifiers”;
3、將TortoiseAdded、TortoiseConflict……TortoiseUnversioned分別重命名,命名為0TortoiseAdded、1TortoiseConflict……8TortoiseUnversioned;
4、重啟計(jì)算機(jī)即可。
一、準(zhǔn)備工作
1、SVN服務(wù)器:解壓縮包,可以從官方網(wǎng)站下載最新版本。
2、SVN客戶(hù)端:TortoiseSVN,即常說(shuō)的小烏龜,是一個(gè)客戶(hù)端程序,用來(lái)與服務(wù)器端通訊。
二、安裝服務(wù)器和客戶(hù)端程序
1、SVN服務(wù)器:直接解壓縮到某個(gè)文件夾下即可。示例路徑:c:\svn\
備注:如果下載的是msi程序,直接運(yùn)行按提示安裝即可。
2、SVN客戶(hù)端:直接運(yùn)行按提示安裝即可。示例路徑:C:\Program
Files\Subversion
三、建立版本庫(kù)(Repository):示例路徑:e:\svnroot。建立版本庫(kù)有兩種方法:
方法一,建立空目錄e:\svnroot\repos1,進(jìn)入repos1文件夾,在空白處點(diǎn)擊右鍵,選擇“TortoiseSVN-Create
Repositoryhere...”,
方法二,建立空目錄e:\svnroot\repos2,進(jìn)入DOS命令行,輸入如下命令:
svnadmincreate
e:\svnroot\repos2
四、運(yùn)行SVN服務(wù)器,啟動(dòng)服務(wù)。啟動(dòng)服務(wù)有兩種方法:
方法一,臨時(shí)啟動(dòng)服務(wù),在DOS下輸入如下命令:
svnserve
-d
-r
e:\svnroot\repos1
--listen-host
ip地址
--listen-port=端口號(hào)
說(shuō)明:“l(fā)isten-host”和“l(fā)isten-port”可選。默認(rèn)端口是3690,如果端口已經(jīng)被占用,可以通過(guò)選項(xiàng)listen-port指定端口號(hào)。
注意:請(qǐng)不要關(guān)閉命令行窗口,關(guān)閉窗口會(huì)把
svn服務(wù)就停止了。
方法二,啟動(dòng)SVN服務(wù)為后臺(tái)運(yùn)行程序:
sc
create
svnserve
binPath=
"c:\svn\bin\svnserve.exe
--service
-r
e:\svnroot\repos1"
displayname=
"Subversion"
depend=Tcpip
start=
auto
說(shuō)明一:
(1)sc是windows自帶的服務(wù)配置程序。svnserve是服務(wù)的名稱(chēng),可根據(jù)需求取名。
(2)參數(shù)binPath表示svnserve可執(zhí)行文件的安裝路徑。
(3)--service表示以windows服務(wù)的形式運(yùn)行,--r指明svnrepository的位置,service參數(shù)與r參數(shù)都作為binPath的一部分,因此與svnserve.exe的路徑一起被包含在一對(duì)雙引號(hào)當(dāng)中。
(4)displayname表示在windows服務(wù)列表中顯示的名字,depend=Tcpip表示svnserve服務(wù)的運(yùn)行需要tcpip服務(wù),start=auto表示開(kāi)機(jī)后自動(dòng)運(yùn)行。安裝服務(wù)后,svnserve要等下次開(kāi)機(jī)時(shí)才會(huì)自動(dòng)運(yùn)行。
說(shuō)明二:
(1)binPath的等號(hào)前面無(wú)空格,等號(hào)后面有空格。displayname、depend、start也一樣,service前面是--,不是-
,而r前面是-。
(2)若要卸載svn服務(wù),則執(zhí)行
sc
delete
svnserve
即可。
(3)從“sc”到“auto”是在同一個(gè)命令sc,必須寫(xiě)在同一行。
(4)啟動(dòng)服務(wù)命令:netstart
svnserve,停止服務(wù)命令:net
start
svnserve,也可以進(jìn)入Windows提供的界面操作SVNService服務(wù)了,即控制面板—服務(wù)。
(5)如果路徑中包括空格,一定要用“\”處理“"”號(hào),例如上面的例子中如果svnserve.exe在“c:\programfiles\svn\”中,則命令應(yīng)該寫(xiě)為“binpath="\"c:\programfiles\svn\bin\svnserve.exe\"
五、配置用戶(hù)和權(quán)限
(1)修改svnserve.conf,在e:\svn\repos1\conf目錄下,用文本編輯器打開(kāi)svnserve.conf:
將:
#
anon-access
=
read
#
auth-access
=
write
#
password-db
=
passwd
改為
anon-access
=
read
auth-access
=
write
password-db
=
passwd
注意說(shuō)明:
anon-access等列前面是沒(méi)有空格的。
anon-access
=
read表示沒(méi)通過(guò)用戶(hù)名密碼登錄的訪(fǎng)問(wèn)只有讀的權(quán)限,如果改為none則沒(méi)有用戶(hù)名密碼不能訪(fǎng)問(wèn)
auth-access
=
write表示通過(guò)用戶(hù)名密碼登錄的有寫(xiě)的權(quán)限(當(dāng)然讀的權(quán)限也就有了)
password-db
=
passwd表示可以通過(guò)
用戶(hù)名
=
密碼
的方式在passwd文件中添加用戶(hù)
(2)修改同目錄的passwd文件,增加用戶(hù)帳號(hào):
將:
[users]
#
harry
=
harryssecret
#
sally
=
sallyssecret
添加帳號(hào):
[users]
#
harry
=
harryssecret
#
sally
=
sallyssecret
admin
=
admin
添加一個(gè)admin賬戶(hù),密碼是admin。
6
六、初始化SVN,導(dǎo)入數(shù)據(jù)
選中要上傳SVN的文件夾,“右鍵
-TortoiseSVN
-
Import...”
,在彈出對(duì)話(huà)框的“URL
of
repository”輸入“svn://localhost/project1/”。在“Importmessage”輸入注釋?zhuān)c(diǎn)擊OK,要求輸入帳號(hào),輸入賬戶(hù)admin和密碼admin。
7
七,測(cè)試SVN
本地測(cè)試:新建一空文件夾test1,單擊右鍵,選擇“SVN
Checkout”,在“URL
of
repository”中輸入“svn://localhost/project1”。
其他機(jī)器測(cè)試:如果運(yùn)行svnserve的主機(jī)IP地址是1.2.3.4,則URL輸入的內(nèi)容就是“svn://1.2.3.4/project1”。
工具/原料
操作系統(tǒng):Windows2003,32位
SVN Server版本:svn-win32-1.6.16
SVN Client版本:TortoiseSVN-1.6.16.21511
方法/步驟
一、準(zhǔn)備工作
1、SVN服務(wù)器:解壓縮包,可以從官方網(wǎng)站下載最新版本。
2、SVN客戶(hù)端:TortoiseSVN,即常說(shuō)的小烏龜,是一個(gè)客戶(hù)端程序,用來(lái)與服務(wù)器端通訊。
二、安裝服務(wù)器和客戶(hù)端程序
1、SVN服務(wù)器:直接解壓縮到某個(gè)文件夾下即可。示例路徑:c:\svn\
備注:如果下載的是msi程序,直接運(yùn)行按提示安裝即可。
2、SVN客戶(hù)端:直接運(yùn)行按提示安裝即可。示例路徑:C:\Program Files\Subversion
三、建立版本庫(kù)(Repository):示例路徑:e:\svnroot。建立版本庫(kù)有兩種方法:
方法一,建立空目錄e:\svnroot\repos1,進(jìn)入repos1文件夾,在空白處點(diǎn)擊右鍵,選擇“TortoiseSVN-Create Repositoryhere...”,
方法二,建立空目錄e:\svnroot\repos2,進(jìn)入DOS命令行,輸入如下命令:
svnadmincreate e:\svnroot\repos2
四、運(yùn)行SVN服務(wù)器,啟動(dòng)服務(wù)。啟動(dòng)服務(wù)有兩種方法:
方法一,臨時(shí)啟動(dòng)服務(wù),在DOS下輸入如下命令:
svnserve -d -r e:\svnroot\repos1 --listen-host ip地址 --listen-port=端口號(hào)
說(shuō)明:“l(fā)isten-host”和“l(fā)isten-port”可選。默認(rèn)端口是3690,如果端口已經(jīng)被占用,可以通過(guò)選項(xiàng)listen-port指定端口號(hào)。
注意:請(qǐng)不要關(guān)閉命令行窗口,關(guān)閉窗口會(huì)把 svn服務(wù)就停止了。
方法二,啟動(dòng)SVN服務(wù)為后臺(tái)運(yùn)行程序:
sc create svnserve binPath= "c:\svn\bin\svnserve.exe --service -r e:\svnroot\repos1" displayname= "Subversion" depend=Tcpip start= auto
說(shuō)明一:
(1)sc是windows自帶的服務(wù)配置程序。svnserve是服務(wù)的名稱(chēng),可根據(jù)需求取名。
(2)參數(shù)binPath表示svnserve可執(zhí)行文件的安裝路徑。
(3)--service表示以windows服務(wù)的形式運(yùn)行,--r指明svnrepository的位置,service參數(shù)與r參數(shù)都作為binPath的一部分,因此與svnserve.exe的路徑一起被包含在一對(duì)雙引號(hào)當(dāng)中。
(4)displayname表示在windows服務(wù)列表中顯示的名字,depend=Tcpip表示svnserve服務(wù)的運(yùn)行需要tcpip服務(wù),start=auto表示開(kāi)機(jī)后自動(dòng)運(yùn)行。安裝服務(wù)后,svnserve要等下次開(kāi)機(jī)時(shí)才會(huì)自動(dòng)運(yùn)行。
說(shuō)明二:
(1)binPath的等號(hào)前面無(wú)空格,等號(hào)后面有空格。displayname、depend、start也一樣,service前面是--,不是- ,而r前面是-。
(2)若要卸載svn服務(wù),則執(zhí)行 sc delete svnserve 即可。
(3)從“sc”到“auto”是在同一個(gè)命令sc,必須寫(xiě)在同一行。
(4)啟動(dòng)服務(wù)命令:netstart svnserve,停止服務(wù)命令:net start svnserve,也可以進(jìn)入Windows提供的界面操作SVNService服務(wù)了,即控制面板—服務(wù)。
(5)如果路徑中包括空格,一定要用“\”處理“"”號(hào),例如上面的例子中如果svnserve.exe在“c:\programfiles\svn\”中,則命令應(yīng)該寫(xiě)為“binpath="\"c:\programfiles\svn\bin\svnserve.exe\"
五、配置用戶(hù)和權(quán)限
(1)修改svnserve.conf,在e:\svn\repos1\conf目錄下,用文本編輯器打開(kāi)svnserve.conf:
將:
# anon-access = read
# auth-access = write
# password-db = passwd
改為
anon-access = read
auth-access = write
password-db = passwd
注意說(shuō)明:
anon-access等列前面是沒(méi)有空格的。
anon-access = read表示沒(méi)通過(guò)用戶(hù)名密碼登錄的訪(fǎng)問(wèn)只有讀的權(quán)限,如果改為none則沒(méi)有用戶(hù)名密碼不能訪(fǎng)問(wèn)
auth-access = write表示通過(guò)用戶(hù)名密碼登錄的有寫(xiě)的權(quán)限(當(dāng)然讀的權(quán)限也就有了)
password-db = passwd表示可以通過(guò) 用戶(hù)名 = 密碼 的方式在passwd文件中添加用戶(hù)
(2)修改同目錄的passwd文件,增加用戶(hù)帳號(hào):
將:
[users]
# harry = harryssecret
# sally = sallyssecret
添加帳號(hào):
[users]
# harry = harryssecret
# sally = sallyssecret
admin = admin
添加一個(gè)admin賬戶(hù),密碼是admin。
六、初始化SVN,導(dǎo)入數(shù)據(jù)
選中要上傳SVN的文件夾,“右鍵 -TortoiseSVN - Import...” ,在彈出對(duì)話(huà)框的“URL of repository”輸入“svn://localhost/project1/”。在“Importmessage”輸入注釋?zhuān)c(diǎn)擊OK,要求輸入帳號(hào),輸入賬戶(hù)admin和密碼admin。
七,測(cè)試SVN
本地測(cè)試:新建一空文件夾test1,單擊右鍵,選擇“SVN Checkout”,在“URL of repository”中輸入“svn://localhost/project1”。
其他機(jī)器測(cè)試:如果運(yùn)行svnserve的主機(jī)IP地址是1.2.3.4,則URL輸入的內(nèi)容就是“svn://1.2.3.4/project1”。
Linux SVN 服務(wù)器配置以及客戶(hù)端使用
2010-09-23 11:32:07
標(biāo)簽:Linux 服務(wù)器 SVN 休閑 客戶(hù)端
SVN簡(jiǎn)介
SVN是一種版本管理系統(tǒng),前身是CVS,是開(kāi)源軟件的基石。即使在溝通充分的情況下,多人維護(hù)同一份源代碼的一定也會(huì)出現(xiàn)混亂的情況,版本管理系統(tǒng)就是為了解決這些問(wèn)題。
SVN中的一些概念 :
a. repository(源代碼庫(kù))
源代碼統(tǒng)一存放的地方
b. Checkout (提?。?/p>
當(dāng)你手上沒(méi)有源代碼的時(shí)候,你需要從repository checkout一份
c. Commit (提交)
當(dāng)你已經(jīng)修改了代碼,你就需要Commit到repository
d. Update (更新)
當(dāng)你已經(jīng)Checkout了一份源代碼, Update一下你就可以和Repository上的源代碼同步,你手上的代碼就會(huì)有最新的變更
日常開(kāi)發(fā)過(guò)程其實(shí)就是這樣的(假設(shè)你已經(jīng)Checkout并且已經(jīng)工作了幾天):Update(獲得最新的代碼) --作出自己的修改并調(diào)試成功 -- Commit(大家就可以看到你的修改了)
如果兩個(gè)程序員同時(shí)修改了同一個(gè)文件呢?SVN可以Merge這兩個(gè)程序員的改動(dòng),對(duì),合并,實(shí)際上SVN管理源代碼是 以行為單位的,就是說(shuō)兩個(gè)程序員只要不是修改了同一行程序,SVN都會(huì)自動(dòng)合并兩種修改。如果是同一行呢,SVN會(huì)提示文件Confict, 沖突,需要手動(dòng)確認(rèn)。
TortoiseSVN簡(jiǎn)介
TortoiseSVN 是 Subversion 版本控制系統(tǒng)的一個(gè)免費(fèi)開(kāi)源客戶(hù)端,可以超越時(shí)間的管理文件和目錄。文件保存在中央版本庫(kù),除了能記住文件和目錄的每次修改以外,版本庫(kù)非常像普通的文件 服務(wù)器。你可以將文件恢復(fù)到過(guò)去的版本,并且可以通過(guò)檢查歷史知道數(shù)據(jù)做了哪些修改,誰(shuí)做的修改。這就是為什么許多人將 Subversion 和版本控制系統(tǒng)看作一種“時(shí)間機(jī)器”。
SVN的配置
1,配置好yum,檢查subversion安裝包
[root@svn ~]# yum list |grep subversion
subversion.i386 1.4.2-4.el5_3.1 base
subversion-devel.i386 1.4.2-4.el5_3.1 base
subversion-javahl.i386 1.4.2-4.el5_3.1 base
subversion-perl.i386 1.4.2-4.el5_3.1 base
subversion-ruby.i386 1.4.2-4.el5_3.1 base
[root@svn ~]# yum -y install subversion
測(cè)試安裝是否成功:
#svnserve --version 回車(chē)顯示版本說(shuō)明安裝成功
[root@svn ~]# netstat –nat 查看默認(rèn)TCP 3690端口是否監(jiān)聽(tīng).
2,創(chuàng)建svn版本庫(kù)
[root@svn /]# mkdir -p /data/svndata
[root@svn /]# svnadmin create /data/svndata/winne winne為版本庫(kù)名稱(chēng)
3,svnserve配置文件概述
svnserve.conf -- svn服務(wù)配置文件,該文件版本庫(kù)目錄的conf目錄下。
passwd -- 用戶(hù)名口令文件,該文件名在文件svnserve.conf中指定,缺省為同目錄下的。
authz -- 權(quán)限配置文件,該文件名也在文件svnserve.conf中指定,缺省為同目錄下的。
conf/svnserve.conf 文件
配置項(xiàng)分為以下5項(xiàng):
anon-access 控制非鑒權(quán)用戶(hù)訪(fǎng)問(wèn)版本庫(kù)的權(quán)限。
auth-access 控制鑒權(quán)用戶(hù)訪(fǎng)問(wèn)版本庫(kù)的權(quán)限。
password-db 指定用戶(hù)名口令文件名。
authz-db 指定權(quán)限配置文件名,通過(guò)該文件可以實(shí)現(xiàn)以路徑為基礎(chǔ)的訪(fǎng)問(wèn)控制。
realm 指定版本庫(kù)的認(rèn)證域,即在登錄時(shí)提示的認(rèn)證域名稱(chēng)。若兩個(gè)版本庫(kù)的
認(rèn)證域相同,建議使用相同的用戶(hù)名口令數(shù)據(jù)文件
注:1.4版本anon-access = read 參數(shù)的bug .
anon-access = read時(shí)
客戶(hù)端Checkout(提?。┑臅r(shí)候會(huì)有Not authorized to open root of edit operation"錯(cuò)誤,改為none參數(shù)正常,
conf /Passwd 文件
user1 = user1
user2 = user2
conf /authz 文件
[groups] 設(shè)置組
admin = user1
[/] 根目錄權(quán)限設(shè)置(就是“svndata”這個(gè)文件夾)
user1 = rw 用戶(hù)1權(quán)限是:可讀寫(xiě)
user2 = r 用戶(hù)2權(quán)限是:可讀,不可寫(xiě)
@admin = rw 設(shè)置組權(quán)限
[svndata:/winne] 設(shè)置根目錄下“winne”文件夾的權(quán)限
user1 = rw
user2 = r
…以此類(lèi)推
4,啟動(dòng)和停止SVN服務(wù)
啟動(dòng)SVN服務(wù):
[root@svn ~]# svnserve -d -r /data/svndata/
-d表示后臺(tái)運(yùn)行
-r 指定根目錄是 /data/svndata/
停止SVN服務(wù):
ps -aux |grep svn
kill -9 進(jìn)程殺掉
客戶(hù)端使用
Windows客戶(hù)端TortoiseSVN的使用
1, TortoiseSVN 客戶(hù)端的安裝
測(cè)試選擇的是TortoiseSVN 1.6.5客戶(hù)端 付中文漢化包.
2,客戶(hù)端的文件更新至服務(wù)器(user1操作)
新建一個(gè)空目錄,右鍵Checkout (提取)
svn://192.168.103.26/winne
輸入passwd文件中的授權(quán)用戶(hù)帳號(hào)就可以了
在目錄中加入一些文件測(cè)試. 然后在空白地方右鍵點(diǎn)TortoiseSVN- ADD 添加列表到服務(wù)器端.此時(shí)并沒(méi)有真正拷貝到服務(wù)器上,需再在Commit(提交)操作才會(huì)拷貝
在版本庫(kù)瀏覽器中就可以看到剛才提交的文件了,此時(shí)提交的版本為1.
3,客戶(hù)端在服務(wù)器上拉讀取數(shù)據(jù)(user2操作)
User2 在機(jī)器上新建一個(gè)空目錄user2 , 右鍵Checkout (提?。?/p>
填入地址: svn://192.168.103.26/winne 輸出至G:\user2 確定
增加一個(gè)new.txt的文件,然后Commit (提交)之后提示權(quán)限出錯(cuò),user2沒(méi)有寫(xiě)的權(quán)限,換成user1 的身份才可以提交成功.
Linux客戶(hù)端的使用
客戶(hù)端操作流程一般是:
用戶(hù)A: checkout (提取) - add (添加新文件) - commit (提交)
用戶(hù)B: SVN log(查看更新) - update(更新版本)
1,SVN的安裝
yun –y install subversion
2,Linux svn的常用命令
()內(nèi)為命令簡(jiǎn)寫(xiě).
checkout (co) 提取
commit (ci) 提交
update (up) 更新
list (ls) 列表
3, checkout (co) 提取 svn服務(wù)器上的文件
(user1)操作流程
[root@TEST ~]# svn co svn://192.168.103.26/winne
Authentication realm: svn://192.168.103.26:3690 My First Repository
Password for 'root':
Authentication realm: svn://192.168.103.26:3690 My First Repository
Username: user1 /輸入用戶(hù)名
Password for 'user1': /輸入密碼
A winne/Cosmic Ride - BeFour.lrc
A winne/20070716171657126.pdf
A winne/svnbook.pdf
revision 1. / checkout (co) 提取成功,看到Checked out版本為1
注:可以使用帶用戶(hù)名和密碼的訪(fǎng)問(wèn):
svn co --username user1 --password user1 svn://192.168.103.26/winne
[root@TEST ~]# ll
drwxr-xr-x 3 root root 4096 Sep 23 09:02 winne /winne目錄是SVN自動(dòng)生成的
drwxr-xr-x 2 root root 4096 Jul 30 02:06 tasks
[root@TEST ~]# cd winne
[root@TEST winne]# ll
total 2868
-rw-r--r-- 1 root root 1566968 Sep 23 08:53 20070716171657126.pdf
-rw-r--r-- 1 root root 2397 Sep 23 08:53 Cosmic Ride - BeFour.lrc
-rw-r--r-- 1 root root 1354300 Sep 23 08:53 svnbook.pdf
4,user1修改文件并提交
[root@TEST winne]# vi testsvn.txt
[root@TEST winne]# svn add testsvn.txt /將testsvn.txt添加到庫(kù)中
A testsvn.txt
[root@TEST winne]# svn commit -m "test" testsvn.txt /注釋為test
Adding testsvn.txt
Transmitting file data .
Committed revision 2. /版本更新為2了
5,user2回window客戶(hù)端更新版本
回到Windows的客戶(hù)端看日志, 版本已經(jīng)更新為2了,注釋test,客戶(hù)端update就可以更新到新的版本了.
6, Windows客戶(hù)端的版本回滾
選中菜單中的update to verisiom ,選擇版本1即可.
7,Linux版本回滾操作:
[root@TEST winne]# svn up -r 1
win10安裝svn的具體步驟如下:1、先通過(guò)百度下載TortoiseSVN,下載好TortoiseSVN后,直接雙擊打開(kāi)svn安裝,在svn安裝界面,直接點(diǎn)擊【next】,如下圖所示。
2、進(jìn)入TortoiseSVN安裝協(xié)議界面,這個(gè)可以無(wú)視,直接點(diǎn)擊【next】,如下圖所示。
3、選中win10安裝svn的路徑,點(diǎn)擊【Browse】,如下圖所示。
如果是默認(rèn)安裝svn,直接點(diǎn)擊【next】就好了。
4、在設(shè)置TortoiseSVN安裝路徑界面上,我可以直接在【folder name】里輸入安裝路徑,然后點(diǎn)擊【ok】,如下圖所示。
5、TortoiseSVN安裝路徑設(shè)置好后,直接點(diǎn)擊【next】,如下圖所示。
6、進(jìn)入TortoiseSVN正式安裝界面,點(diǎn)擊【install】進(jìn)行安裝,如下圖所示。
7、TortoiseSVN在win10系統(tǒng)上安裝中,稍等一會(huì),如下圖所示。
8、就這樣,TortoiseSVN在win10系統(tǒng)上安裝完畢,點(diǎn)擊【Finish】,退出,如下圖所示。
1、Windows下命令行工具:
發(fā)現(xiàn)原來(lái)安裝的tortoisesvn已經(jīng)集成到shell中,不能在命令行下使用。
下載Apache Subversion command line tools,這是一個(gè)可以在cmd下使用的命令行工具,解壓后把里面bin目錄這個(gè)路徑添加到環(huán)境變量的path,這樣在cmd下就可以使用了,和linux下使用svn的習(xí)慣一樣了。
目錄約定:
/trunck:開(kāi)發(fā)主線(xiàn)
/branches:支線(xiàn)副本
/tags:標(biāo)簽副本(一旦創(chuàng)建,不允許修改)
1)使用trunk作為主要的開(kāi)發(fā)目錄
一般的,我們的所有的開(kāi)發(fā)都是基于trunk進(jìn)行開(kāi)發(fā),當(dāng)一個(gè)版本(release)開(kāi)發(fā)告一段落(開(kāi)發(fā)、測(cè)試、文檔、制作安裝程序、打包等結(jié)束后),代碼處于凍結(jié)狀態(tài)(人為規(guī)定,可以通過(guò)hook來(lái)進(jìn)行管理)。此時(shí)應(yīng)該基于當(dāng)前凍結(jié)的代碼庫(kù),打tag。
當(dāng)下一個(gè)版本/階段的開(kāi)發(fā)任務(wù)開(kāi)始時(shí),繼續(xù)在trunk進(jìn)行開(kāi)發(fā)。此時(shí),如果發(fā)現(xiàn)了上一個(gè)已發(fā)行版本(Released Version)有一些bug,或者一些很急迫的功能要求,而正在開(kāi)發(fā)的版本(Developing Version)無(wú)法滿(mǎn)足時(shí)間要求,這時(shí)候就需要在上一個(gè)版本上進(jìn)行修改了。解決方法是基于發(fā)行版對(duì)應(yīng)的tag,做相應(yīng)的分支(branch)進(jìn)行開(kāi)發(fā)。
2)下圖為struts2的SVN倉(cāng)庫(kù)目錄:
3、常用命令
svn help
svn --version
svn --version --quiet? ??只顯示版本號(hào)
svn checkout 地址
svn add 文件或者文件夾? ? 增加本地?cái)?shù)據(jù)到服務(wù)器
svn commit / svn ci -m “注釋”? 文件名 ? 提交代碼,要先add才commit
svn update / svn up?不必跟特定的文件或目錄,也可以自己指定需要更新的文件或目錄。每次commit或者改動(dòng)之前最好更新一下。
svn log
svn delete 文件名
svn resolve 路徑 --accept working? ? 解決沖突
svn switch 遠(yuǎn)程路徑? ? 版本切換
svn list?路徑?/?svn ls? ? 列出版本庫(kù)下的文件和目錄
svn merge -r m:n 路徑?? ? 合并文件,從版本號(hào)m到版本號(hào)n的遠(yuǎn)程分支都合并到當(dāng)前分支中
svn info 確認(rèn)工作目錄的svn信息
svn diff -r m:n 路徑? ? 對(duì)版本m和版本n比較差異
svn cleanup? ???為失敗的失誤清場(chǎng)
svn status -v? ? 在本地進(jìn)行代碼修改,檢查修改狀態(tài)
svn import 遠(yuǎn)程路徑 --message “message”? ?將當(dāng)前路徑下文件導(dǎo)入到版本庫(kù)中
svn export 遠(yuǎn)程路徑? ? 導(dǎo)出一份干凈的項(xiàng)目
svn move/ svn mv 原文件名 新文件名? ??重命名
svn mkdir 文件名
svn copy / svn cp 源文件路徑 新文件路徑
svn revert 文件名?? ??只能恢復(fù)未提交之前的操作
若要還原已提交的改動(dòng):只能用舊文件覆蓋新文件。操作如下:
1)sun up? ??讓本地工作拷貝更新到最新?tīng)顟B(tài)
2)svn log your_file_path?? ??查看文件日志,這時(shí)候提交時(shí)填寫(xiě)的說(shuō)明信息就派上用場(chǎng)了
3)svn diff -r 舊修訂版序號(hào):新修訂版序號(hào) your_file_path? ??查看兩個(gè)修訂版之間的不同。
4)決定用哪個(gè)舊的修訂版號(hào)后,用舊的修訂版號(hào)文件覆蓋新的修訂版號(hào)文件。svn merge -r 新修訂版序號(hào):舊修訂版序號(hào) your_file_path
5)svn commit -m "恢復(fù)到某修訂版(某修訂版作廢)"
本地的版本叫做working copy
4、關(guān)于merge
branch主要用于新功能的開(kāi)發(fā)
合并發(fā)生在本地working copy,只要你不提交就不會(huì)影響到repository
合并前一定要先update、commit,保證不會(huì)out of day,并將本地的修改保存到repository
branch和trunk并行開(kāi)發(fā)的過(guò)程中,要經(jīng)常同步,將trunk的修改合并到branch,合并時(shí)選擇"Merge a range of revision"
branch最后合并回trunk時(shí),merge type選擇"Reintegrate a branch"
不管是從trunk合并到branch還是最終從branch合并回trunk,在每次合并前最好先update,然后將本地的修改先全部commit,保護(hù)好現(xiàn)場(chǎng),萬(wàn)一合并不理想隨時(shí)都可以revert?
5、關(guān)于解決沖突
發(fā)生沖突之后會(huì)出現(xiàn)三個(gè)臨時(shí)文件:
XXX.mine XXX.r1 XXX.r2
一旦解決了沖突,需用svn resolved讓subversion知道,這樣就會(huì)刪除這三個(gè)臨時(shí)文件,沖突狀態(tài)解決。
三種解決方式:
手工合并沖突:需要將沖突標(biāo)志刪除
用某一個(gè)臨時(shí)文件覆蓋自己的工作文件
用svn revert 放棄本地修改,不需要執(zhí)行resolved
右鍵顯示是正常的。
先正確安裝TortoiseSVN。通過(guò)軟件管家就可以安裝,安裝的同時(shí)可以把中文包也一起安裝了,完成安裝后,點(diǎn)擊某文件夾后鼠標(biāo)右鍵中沒(méi)有SVN的更新和提交,在開(kāi)始菜單中的TortoiseSVN下找到Settings并單擊,在彈出的窗體中設(shè)置顯示中文,單擊左側(cè)“圖標(biāo)集”,右側(cè)圖標(biāo)集選擇mufwin7,點(diǎn)擊確定。最后重啟一下電腦就好了。