青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 298  文章 - 377  trackbacks - 0
<2007年8月>
2930311234
567891011
12131415161718
19202122232425
2627282930311
2345678

常用鏈接

留言簿(34)

隨筆分類

隨筆檔案

文章檔案

相冊

收藏夾

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

文檔規則
[本地工作區] :work copy ,本地工作副本;
[主項目]:引用共用模塊的新項目(工程)
最新版本(HEAD revision):版本庫里文件或目錄的最新版本
SA :SVN服務器的管理員
PRA :單個項目庫的管理員,或者是項目負責人
User :普通工作人員
WC :work copy ,本地工作副本


1. 版本控制原則
    SVN(或者其他版本控制軟件)只是一個版本控制的輔助工具,不可能把所有的問題都自動解決掉。尤其,對于沖突這個麻煩事兒,項目成員在項目進程中要盡量通過優化流程來解決,而不是將希望寄托于軟件工具來自動解決一切問題。
建議的開發過程組織:
  <1>. 隨行就市>
項目剛開始階段,單獨開發;項目穩定階段,完整開發。項目開發初期,各個項目成員負責自己的文件夾(或者模塊),與SVN服務器間的更新、提交等操作只需 要針對自己負責的文件夾(或者模塊)就行了,他人的文件夾(或者模塊)可以不必關心;項目穩定階段,也就是每天的變更量很小了,所有項目成員與SVN服務 器的更新、提交等操作需要針對項目的所有文件夾(或者模塊),各個項目成員在其本地編譯時本地工作區的全部項目程序(或者資料)均為最新的版本,保證項目 作為整體能夠順利運行。
   <2>. 能躲就躲
盡量保證一份文件只有一個項目成員在編輯。舉例說明:程序員A負責底層中文件 DBAccess.cs的編寫,如果程序員B的工作要求他為DBAccess.cs增加兩個方法,程序員B應該通知程序員A來增加而不是自己增加;如果此 時A非常繁忙需要B自己增加,就需要B先更新本地的DBAccess.cs,然后開始修改,修改完成后立即提交并通知A更新本地的文件,通過縮短提交間隔 來減少沖突。
2. 基于版本控制的開發流程

版本控制下的軟件開發基本流程
注意:上述的流程中沒有考慮測試和審核的步驟。
3.各階段中svn的使用方法介紹
<1>.安裝后的常規設置
  (1). 中文界面的設置
將TortoiseSVN的操作語言設置為中文,控制文件夾使用“_SVN”以便支持Asp.net項目。

  (2).忽略文件
  為防止在提交操作時將不必要的文件上傳到SVN服務器上,可將項目中不需要受SVN控制的文件和文件夾通過設置忽略選項的方式排除掉。常被忽略的文件 有 _* obj *.db *.resharper* *.Load *.pdb *.bak。可以根據實際需要來修改忽略參數, 每個需要忽略的文件(文件夾)名稱之間用空格作分隔符,需要忽略的文件夾只要寫文件夾名稱就行,例如 obj,忽略obj文件夾及所包含文件;_*忽略所有_(下劃線)開頭的文件夾及所包含文件。注意,這個設置僅對本機有效,而且對本機的所有項目的本地工 作區有效,對其他項目組成員沒有影響。被忽略的文件仍可以通過“添加”命令使其受SVN控制。

操作界面如下圖,只需將忽略參數填寫在“全局忽略模式”后的文本框中即可。

  (3).配置強制注釋
  項目負責人通過設置項目的TortoiseSVN:logminisize設置為5,以便強制注釋。設置方法:在項目的本地工作區文件夾上點擊鼠標右 鍵選擇“屬性”,進入 Subversion標簽,選中TortoiseSVN: logminisize,確保復選框“遞歸應用該屬性”選中,取值設為5,其意思是指提交的注釋最短長度為五個字。注意,這個設置對其他項目成員的也有 效,但是對別的SVN客戶端工具(如AnkhSVN)無效。
<2>. 初始化版本庫
初始化版本庫有兩種常用的方式:
  1. 直接“導入Import…”
對要執行導入操作得項目文件夾進行如下清理:
    (1). 把項目中不需要的文件刪除。(臨時文件、編譯器創建的文件,比如*.obj、二進制文件等。)
    (2). 把文件夾和子文件夾中的所有文件整理一遍。雖然你可以在導入之后再來進行重命名或刪除等操作,但是還是推薦你在導入之前把你的項目整理好。
在資源管理器(windows explorer)中選擇項目(本地硬盤上)的根文件夾,單擊鼠標右鍵,選擇導入Import…命令,跳出一個對話框:

  在這個對話框中你需要填寫你要將項目導入倉庫的URL地址(svn必須小寫)。導入信息(Important Message)是用來記錄日志信息的。注意:與“忽略樣式exclude pattern”匹配的文件或文件夾不會被導入,除非選擇了“包含忽略的文件”選項。
按下“確定”按鈕后,TortoiseSVN就開始把整個文件夾樹(包括所有文件)導入到倉庫。用來做“導入Import”操作的這個文件夾的名字不會出 現在倉庫中,只有文件夾中的內容會出現。注意:剛才用來做“導入Import”操作的這個文件夾并沒有處于版本控制下!要獲取一份處于版本控制之下的[本 地工作區]副本,你需要對剛導入的版本做一次“檢出Checkout”操作。
  2.“檢出Checkout”—>“提交Commit”
新建一個空文件夾作為[本地工作區]的存放文件夾(建議與項目同名),在文件夾上(或者文件夾里)單擊鼠標右鍵后在命令菜單中選擇“檢出Checkout…”,出現操作窗口。注意:只能檢出Checkout到一個空文件夾。

  把本地硬盤上的項目文件夾中的內容(不要復制項目的根文件夾)全部復制到[本地工作區] 文件夾中,并對文件夾中進行清理操作(同“導入Import”操作前的清理操作)。然后選擇[本地工作區] 文件夾單擊鼠標右鍵跳出菜單,選擇命令“提交Commit…”:

提交對話框會顯示每一個有修改的文件,包括新增的,刪除的,還有沒有版本控制的。如果不想“提交Commit”某個有變更的文件,只需取消勾選那個文件即可。相反,如果要提交某個未受版本控制的文件,只需勾選它就可以然后“提交Commit”即可。
  3.日常開發中的SVN操作


0.版本號的解釋
SVN系統中的版本號準確應該叫做“修訂版本號”,每當版本庫接受了一個提交Commit,文件系統進入了一個新的狀態,叫做一次修訂(revision),每一個修訂版本被賦予一個獨一無二的、遞增的自然數,這個自然數就是修訂版本號。
受控項目中任何一個受控文件/文件夾進行了修改提交Commit操作,項目的版本號就會提升一次,沒有進行修改的文件/文件夾其版本號不會發生變化。受控 項目每一個裝態都包含項目的所有文件/文件夾,引起該次版本號增加的即修改了的文件/文件夾保存新副本,沒有發生修改的文件/文件夾保存引用,因此項目中 的文件/文件夾可能與項目的版本號不同。

0.更新(Update)工作副本

  把他人做的修改融合到自己的本地副本當中,這個把改動從服務器拿到本地的過程就是“更新Update”。“更新Update”操作可以針對一個文件, 或幾個被選擇的文件,或某個文件夾中的所有文件。選擇想要進行“更新Update”操作的文件和(或)文件夾,單擊鼠標右鍵,在菜單中選擇“更新 Update”, 執行窗口顯示正在“更新Update”的進度。他人做的修改會合并到自己的文件中,而自己所做的修改會被保留。如果不能合并,將會出現沖突(紅色文字顯 示),沖突的文件圖標將出現標志。
命令 “更新至版本Update to Revision...” 可以使[本地工作區]更新到自己選擇的一個特定版本。

0.解決沖突
  選擇的文件,點擊鼠標右鍵菜單中選擇“編輯沖突Edit Conflict”來打開合并工具或沖突編輯器,做一些必要的修改,然后保存文件。然后選擇菜單中的“已解決的Resolved”命令執行,接著提交commit修改到倉庫。
注意:命令“已解決的Resolved”并沒有真正的解決沖突,它只不過是把“文件名稱.擴展名.mine” 和 “文件名稱.擴展名.r*”(r*中星號代表任意位數字,即版本號)刪除,并允許你提交修改而已。因此,建議在有沖突發生時要先執行“編輯沖突Edit Conflict” 再執行“已解決的Resolved”;如果確信自己的修改是正確的,不需要保留他人的修改,可將文件名稱.擴展名.mine去掉“.mine”后綴,并把 “.r*”后綴的文件和“”的文件刪除,然后正常“提交Commit”,版本庫中將保存自己的版本。

0.提交修改到倉庫

  強烈建議在提交之前,應該確認[本地工作區] 是最新的。可以直接作一次“更新Update”操作,或者先“檢查更新Check for Modifications”看看在本地或在服務器上哪些文件修改過。如果沒有這樣的操作直接提交的話,很有可能出現沖突現象。“檢查更新Check for Modifications”操作后的結果界面如下:

  如果[本地工作區] 是最新的,并且沒有沖突,就可以提交你的修改了。選中你想要提交的任意文件或文件夾,然后選擇在菜單中選擇“提交Commit…”在提交對話框中雙擊一個 有修改的文件,可以啟動外掛的比較工具來顯示修改細節。 在按下“確定OK”按鈕之后,會顯示提交的進程情況。

0.比較差異(Diff)

  [本地工作區] 修改后,被修改的文件出現標志,選擇 “比較差異Diff” 命令,可以查看該文件與版本倉庫中文件具體差異,選擇命令后出現對應的差異察看窗口。

0.加入(Add)新文件/新文件夾

  想把在開發過程中創建的新文件/文件夾加入到SVN控制之下,可以這樣做:選中文件/文件夾(在新文件/文件夾所在父文件夾點擊右鍵),然后在菜單中選擇“添加Add”命令。不需要受SVN控制的文件請取消鉤選。

在把文件或文件夾加入到控制之下后,這些文件或文件夾就會顯示為一個Added覆蓋圖標的樣子,接下來必須對[本地工作區] 執行提交commit操作,以便其他團隊成員能夠看到這些文件或文件夾。

0.刪除、重命名、移動
選擇要刪除(或重命名)的文件/文件夾,點擊鼠標右鍵選擇相應命令:

  如果使用TortoiseSVN的“刪除Delete”操作刪除了一個文件/文件夾,文件就已經從[本地工作區]中刪除了,而被“刪除Delete” 的文件夾將顯示為覆蓋圖標。要恢復被“刪除Delete”文件/文件夾,只需對他的上級文件夾進行“SVN還原revert”操作即可。
如果要在[本地工作區]內移動文件,可以使用鼠標來拖拽:
    1.選中要移動的文件或文件夾。
    2.用鼠標右鍵拖拽他們到[本地工作區]中一個新的文件夾。
    3.松開鼠標右鍵。
    4.在跳出的菜單中選擇相應命令,如下圖:

  如果一個刪除操作不是使用TortoiseSVN的“刪除Delete”操作完成的,而是就像平常刪除文件那樣刪除的。提交時,對話框窗口還是會顯示 這些刪除的文件,并提示自己把它們從版本控制下刪除。所以如果忘記使用TortoiseSVN“刪除Delete”操作來刪除這些文件,仍可在這里補上。

0.取消改變(revert)
  如果要取消對一個文件/文件夾所做的修改,只需用鼠標右鍵單擊該文件/文件夾,選擇TortoiseSVN子菜單中的“SVN還原revert”命 令,在操作窗口中會顯示需要還原的文件/文件夾,勾選文件/文件夾后按下“確定OK”按鈕即可。注意這里所做的取消修改只能返回到該文件/文件夾上次“更 新Update”后的狀態。


0.修訂日志窗口
  每一次修改和提交,都應該做好日志記錄。這樣開發過程中就有了一個詳細的記錄,以后便可找出每一個修改是如何修改以及為什么這樣修改的。 日志對話框會顯示所有日志信息。顯示分成3個部分:
    1.最上面部分顯示的是所有被提交的版本列表。顯示有日期時間、提交者、修訂版本號和日志信息的前面一部分。用藍色顯示的行表示有某些文件被復制到了這個版本。(也許是從一個分支來的)
    2.中間部分顯示的是選中版本的所有日志信息。
    3.底部顯示的是選中版本所做修改的文件和文件夾列表。
還不僅僅是這些,對話框中還提供了很多的菜單命令可以使用。


0.文件庫瀏覽器
  選擇“文件庫瀏覽器”菜單,就可以打開Subversion服務器上版本庫的結構,并可以對版本庫中的文件/文件夾進行操作,如下圖:

posted on 2008-10-28 10:49 聶文龍 閱讀(896) 評論(0)  編輯 收藏 引用 所屬分類: Visual C++軟件應用
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久精品中文字幕免费mv| 亚洲黄色影院| 免费一级欧美在线大片| 亚洲欧美成aⅴ人在线观看| 亚洲欧美变态国产另类| 午夜国产精品视频| 欧美一区三区二区在线观看| 性8sex亚洲区入口| 久久久久久久欧美精品| 欧美黄色精品| 国产精品视频久久一区| 狠狠色狠狠色综合系列| 最新69国产成人精品视频免费| 亚洲国产精品一区二区三区| 亚洲人成欧美中文字幕| 一本色道久久综合| 欧美激情精品久久久久久久变态| 久久国产成人| 欧美激情四色| 一区二区三区日韩在线观看| 亚洲欧美国产高清| 免费在线成人av| 国产精品一卡| 99国产精品视频免费观看一公开 | 国内精品一区二区三区| 91久久夜色精品国产网站| 午夜精品一区二区三区四区| 久久视频国产精品免费视频在线| 国产精品亚洲а∨天堂免在线| 伊人成人开心激情综合网| 亚洲网站视频福利| 欧美freesex8一10精品| 亚洲自拍另类| 欧美三级韩国三级日本三斤| 激情五月综合色婷婷一区二区| 在线一区二区三区做爰视频网站 | 欧美激情精品久久久久久久变态| 国产精品区二区三区日本 | 国产精品久久久久久久久搜平片 | 久久国产免费看| 亚洲欧洲一区二区天堂久久| 亚洲影视中文字幕| 欧美日韩精品| 日韩亚洲一区二区| 亚洲国产天堂网精品网站| 久久精品国产999大香线蕉| 国产精品视频| 亚洲欧美日韩综合| 一区二区欧美激情| 欧美天堂在线观看| 在线视频精品一| 亚洲精品小视频| 欧美精品一区视频| 99精品国产福利在线观看免费 | 国产精品女同互慰在线看| 99热这里只有精品8| 女仆av观看一区| 久久久久高清| 亚洲国产一成人久久精品| 欧美福利在线| 牛人盗摄一区二区三区视频| 欧美大片第1页| 久久另类ts人妖一区二区| 国内外成人免费视频 | 欧美黄色免费| 欧美1区2区视频| 91久久中文| 亚洲人成网站在线播| 欧美精品日韩一本| 亚洲网站视频福利| 亚洲欧美日韩在线| 99re国产精品| 国产精品国内视频| 久久久之久亚州精品露出| 久热成人在线视频| 一本一道久久综合狠狠老精东影业 | 午夜在线电影亚洲一区| 国产日韩欧美精品综合| 久久一区激情| 欧美人成在线视频| 99成人免费视频| 另类图片综合电影| 亚洲成人在线视频播放| 美女主播一区| 欧美大片在线看| 亚洲在线视频一区| 欧美一区二区三区啪啪| 亚洲国产一区二区a毛片| 欧美成人黑人xx视频免费观看| 快播亚洲色图| 亚洲欧美日本国产有色| 欧美中文在线免费| 一本色道久久综合亚洲二区三区 | 99国产精品久久| 亚洲女人天堂av| 亚洲人精品午夜| 亚洲一区二区三区四区中文 | 欧美二区不卡| 欧美日韩播放| 久久九九精品99国产精品| 欧美不卡一卡二卡免费版| 亚洲一区二区3| 乱中年女人伦av一区二区| 午夜久久久久久久久久一区二区| 久久久亚洲午夜电影| 亚洲一区欧美一区| 男同欧美伦乱| 久久久久久尹人网香蕉| 午夜电影亚洲| 亚洲欧美电影院| 亚洲手机在线| 久久久99国产精品免费| 亚洲天堂免费观看| 狂野欧美性猛交xxxx巴西| 欧美在线亚洲| 国产精品国产三级国产普通话99 | 亚洲国产mv| 午夜免费日韩视频| 亚洲视频图片小说| 免费黄网站欧美| 久久亚洲视频| 欧美好骚综合网| 国产丝袜一区二区| 亚洲性视频网址| 亚洲一区二区三区中文字幕在线| 欧美ab在线视频| 欧美α欧美αv大片| 黄色一区二区在线观看| 欧美一区视频| 久久久久九九视频| 国产一区视频在线看| 欧美一级理论片| 久久精品国产第一区二区三区最新章节 | 亚洲免费av电影| 亚洲精品中文字幕女同| 欧美插天视频在线播放| 欧美国产日本| 亚洲精品看片| 欧美精品三区| 99这里只有精品| 亚洲一区二区三区四区中文| 欧美日韩精品一区二区三区四区| 亚洲国产精品久久91精品| 亚洲日本欧美| 欧美日本一道本在线视频| 亚洲精品永久免费| 亚洲已满18点击进入久久| 国产精品日日做人人爱 | 欧美三级日韩三级国产三级| 一本不卡影院| 久久精品国产亚洲一区二区| 国产一区二区你懂的| 久久婷婷成人综合色| 亚洲电影网站| 亚洲字幕一区二区| 国产在线观看一区| 欧美二区视频| 亚洲视频国产视频| 欧美在线视频一区| 欧美在线影院在线视频| 日韩午夜电影在线观看| 欧美激情亚洲精品| 一本久久综合| 久久久999成人| 亚洲欧洲精品一区二区三区不卡 | 亚洲欧美三级在线| 狠狠久久五月精品中文字幕| 麻豆av一区二区三区| 亚洲精品一区二区三区在线观看 | 亚洲二区视频| 亚洲欧美一区二区三区极速播放| 国产一区二区三区久久 | 蜜臀va亚洲va欧美va天堂| 国产揄拍国内精品对白| 欧美福利电影网| 亚洲欧美国产高清| 亚洲青涩在线| 久久久精品五月天| 久久久视频精品| 欧美国产极速在线| 亚洲视频在线免费观看| 国产亚洲女人久久久久毛片| 免费日韩av片| 国产亚洲激情在线| 亚洲国产清纯| 亚洲精品乱码久久久久久蜜桃91| 午夜一区二区三区不卡视频| 日韩视频中文| 欧美一区午夜精品| 欧美亚洲在线观看| 欧美成人精品一区| 亚洲网站在线观看| 羞羞视频在线观看欧美| 亚洲经典一区| 亚洲精品视频在线播放| 免费观看久久久4p| 日韩视频在线你懂得| 亚洲国产一成人久久精品| 国产精品视频网址| 欧美日韩国产va另类|