日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

文件项目SVN+TortoiseSVN+Subclipse使用总结

發(fā)布時間:2023/12/9 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 文件项目SVN+TortoiseSVN+Subclipse使用总结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

近來使用開辟的過程中涌現(xiàn)了一個小問題,順便記錄一下原因和方法--文件項目

????

一、SVN、TortoiseSVN、Subclipse分析

????

????團隊開辟技術:

????(1)單元測試;
(2)版本控制;
(3)項目主動化;

????

????SCM:軟件配置管理,包含SVN;

????SVN是CVS的接棒人,是版本控制系統(tǒng);

????版本控制簡單地說就是要讓團隊的人能夠快速的統(tǒng)一代碼,增強相同;

????SVN由客戶端和服務器組成,服務器是項目倉庫,即存儲項目的地方;客戶端則是當?shù)乜截?#xff0c;即由SVN管理,可以提交到項目倉庫和從項目倉庫中獲得項目的地方;

????svn宗旨:萬物皆目錄;

????TortoiseSVN是SVN的客戶端,因為如果是傳統(tǒng)的Subversion客戶端,須要通過命令行完成任務,而TortoiseSVN是通過GUI的方式完成的;

????Subclipse是Eclipse中的一個插件,簡單的說也是一個SVN客戶端,只是為了方便Eclipse開辟,因此可以在Eclipse中進行提交、導入;

????

下載地址:

????SVN:https://sourceforge.net/projects/win32svn/files/1.6.17/svn-win32-1.6.17.zip/download

????TortoiseSVN:https://downloads.sourceforge.net/project/tortoisesvn/1.7.6/Application/TortoiseSVN-1.7.6.22632-win32-svn-1.7.4.msi?r=&ts=1331344321&use_mirror=cdnetworks-kr-2

????Subclipse在線安裝地址:http://subclipse.tigris.org/update_1.6.x

????

????注意:配置SVN時須要配置環(huán)境變量;

????(1)path=C:/subversion/bin;?

????(2)SVN_EDITOR=notepad; 設置默認的編輯器

????

????

????

????

????

二、SVN命令分析

????


????檢測版本:svn --version 和 ?svnadmin --version

創(chuàng)建項目倉庫:svnadmin create D:\svn-repos

導入tmpdir目錄下的文件到sesame/trunk中,等于添加而不是修改:
D:\svnworkspace\tmpdir>svn import -m "import Sesame project" . ?file:///d:/svn-repos/sesame/trunk

-m表現(xiàn)可以提供一些注釋;.表現(xiàn)把當前目錄下的文件導入;

注:只有在import時須要項目倉庫的URL,在diff、commit都不須要URL;

在svnworkspace下checkout指定最新的項目,并命名為sesame:D:\svnworkspace>svn co file:///d:/svn-repos/sesame/trunk sesame

checkout指定版本(此處為第一版本)的項目:svn checkout -r 1 svn://xiazdong-PC/sesame/trunk test3

查看文件狀態(tài):svn status Day.txt

查看項目倉庫是不是有更新:svn status --show-updates
注:

????(1)M:當?shù)乇恍薷?#xff0c;但是沒有提交;
(2)C(Conflict):更新時有沖突存在;
(3)G(Gather):當?shù)匕姹竞晚椖總}庫版本合并到一同;
(4)U(Update):當?shù)匕姹颈怀晒Ω?#xff1b;
(5)A(Add):任務拷貝中添加新文件;
(6)D(Delete):文件在項目倉庫中被刪除,所以任務拷貝中此文件也被刪除;

查看當?shù)乜截惖奈募膭?如果項目倉庫有改動,檢查不出):svn diff Day.txt

查看項目倉庫和當?shù)厝蝿湛截惖膮^(qū)分:svn diff -rHEAD Number.txt

查看兩版本之間的差別:svn diff -r2:4 Number.txt

查看近來的改動:svn diff -r PREV:BASE Number.txt

更新當?shù)乜截?#xff1a;svn update

更新指定目錄或文件:svn update Number.txt dir1/ dir2/

注:當發(fā)生沖突時,會涌現(xiàn)提示修改;
選擇: (p) 推遲,(df) 顯示全部差異,(e) 編輯,
? ? ? ?(mc) 我的版本, (tc) 他人的版本,
? ? ? ?(s) 顯示全部選項:?

提交改動:D:\svnworkspace\sesame>svn commit -m "注釋"
但是注意:commit只會提交改動,如果在當?shù)乜截愔袆?chuàng)建一個文件,則須要在此之前 svn add 文件
如果提交時沖突沒處理,則提交失敗;

獲得某個文件的日志:D:\svnworkspace\sesame>svn log Day.txt

獲得某個文件的詳細日志:D:\svnworkspace\sesame>svn log --verbose Day.txt

獲得兩版本之間的日志:svn log -r 2:4 Day.txt

分頁顯示日志:svn log | more

注:svn log不一定是最新的日志,因為可能任務拷貝的版本和項目倉庫的版本不一致,svn log只能顯示任務拷貝版本的日志

每日一道理
“一年之計在于春”,十幾歲的年紀,正是人生的春天,別辜負了歲月老人的厚愛與恩賜。行動起來,播種夢想吧!

????注:*表現(xiàn)有更新;

????

????獲得sesame任務拷貝信息:svn info sesame

????

拷貝文件:svn copy Number.txt copy.txt
注:拷貝后只是在當?shù)赝瓿?#xff0c;須要提交更新項目倉庫;

重命名文件:svn move copy.txt copy.py

重命名目錄:svn move dir1 dir2

直接在項目倉庫中重命名目錄:D:\svnworkspace\test3>svn move -m "rename" svn://xiazdong-pc/sesame/trunk/Number.txt svn://xiazdong-pc/sesame/trunk/dest.txt

顯示文件的每行的最新版本及誰變動的:svn blame Number.txt

還原文件:svn merge -r 7:6 Number.txt

????

?

????

聯(lián)網(wǎng)訪問的三種方法:

????(1)svnserve
(2)ssh
(3)apache

對于某個特定的項目倉庫啟動svnserve:start svnserve --daemon --root D:\svn-repos?

通過svnserve簽出文件:svn co svn://xiazdong-PC/sesame/trunk vizier

默認svnserve管理的項目倉庫是只讀的,即只能簽出,不能提交;在/conf/svnserve.conf中添加:
anon-access=read ?//匿名用戶只讀
auth-access=write//授權用戶可寫
passowrd=passwd//在passwd文件內配置
在passwd文件中配置:xiazdong=12345表現(xiàn)用戶名是xiazdong,密碼是12345

注意:在svnserve.conf和passwd兩個文件配置時必須頂格,否則無效;


屬性:文件的元數(shù)據(jù);

為Number.txt設置checked-by屬性為xiazdong:svn propset checked-by "xiazdong" Number.txt

編輯Number.txt中的checked-by屬性(須要配置SVN_EDITOR設置默認編輯器):svn propedit checked-by Number.txt

列出Number.txt的所有屬性:svn proplist Number.txt


獲得某個屬性:svn propget checked-by Number.txt


經(jīng)常使用屬性:
(1)svn:ignore:疏忽某些文件; *.java表現(xiàn)疏忽java文件
(2)svn:eol-style:設置換行符,一般為 native,表現(xiàn)隨著操作系統(tǒng)而變化;
(3)svn:mime-type:設置文件的mime類型;
(4)svn:needs-lock:設置文件加鎖

一般我們可以在文件中配置autoprops,主動設置;
1.尋覓config文件:
(1)echo %APPDATA%
(2)\subversion\config
2.設置enable-auto-props = true
3.找到[auto-props],并設置主動屬性

????

文件加鎖

?

????嚴格加鎖:只允許一個人改動一個文件;
悲觀加鎖:比如有A、B兩人同時checkout了一個文件File.java,并且同時對他們修改了,A先提交,當B想提交時,必須先svn update,把自己的目錄釀成最新的當前才能夠提交,更新時會涌現(xiàn)兩種情況:
(1)如果A和B改動的不是同一行,那么會畸形合并;
(2)如果A和B改動的是同一行,則會在源代碼中標記出沖突:

????而Subversion默認是采用悲觀加鎖;

????

????對于文本文件,可以通過合并的方式處理沖突,但是對于二進制文件,則須要文件加鎖處理;

為文件開啟文件加鎖:為某個文件添加svn:needs-lock屬性,并且commit到文件倉庫;

文件加鎖:svn lock Day.txt -m "lock"

強制解鎖(雖然別人有鎖,但是另外一個人可以強制解開鎖,但沒有獲得鎖):svn unlock --force svn://xiazdong-pc/sesame/trunk/Day.txt

強制加鎖(不管有沒有人有鎖,都搶過來):svn lock --force Day.txt

????

????轉向其他目錄:svn switch svn://xiazdong-pc/sesame/branches/b1

????

????沖突:

????<<<<<<< .mine

????本來代碼

????=======

????項目倉庫代碼

????>>>>>>> .r4

????

????分支和標簽:簡單地來說就是某個任務拷貝的復制;

????在分支上開辟:

????(1)在項目倉庫中創(chuàng)建branches目錄; svn mkdir svn://xiazdong-pc/sesame/branches

????(2)在項目倉庫中將骨干復制到b1目錄中; svn copy svn://xiazdong-pc/sesame/trunk svn://xiazdong-pc/sesame/branches/b1

????(3)通過b1目錄checkout一份任務拷貝; ? svn co svn://xiazdong-pc/sesame/branches/b1 b1

????(4)提交;

????

????

三、TortoiseSVN使用分析

????

????如果曉得SVN中的術語,其實此工具非常易于入門和使用;

????

????

1.checkout

?????

????

2.沖突問題

????

????

????

????

????

?

????

四、Subclipse使用分析

????


1.checkout

????

????

????

?

????

2.commit等

????

文章結束給大家分享下程序員的一些笑話語錄: 一程序員告老還鄉(xiāng),想安度晚年,于是決定在書法上有所造詣。省略數(shù)字……,準備好文房4寶,揮起毛筆在白紙上鄭重的寫下:Hello World

總結

以上是生活随笔為你收集整理的文件项目SVN+TortoiseSVN+Subclipse使用总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。