<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 262,  comments - 221,  trackbacks - 0
    【13】撤銷本地的修改
    在每次提交版本之前,我們都需要先update一下本地的版本,檢查本地文件是否已經(jīng)版本過低(out-of-date)。這時(shí)我們通常會(huì)發(fā)現(xiàn):

     A.有些本地修改和版本庫的修改發(fā)生了沖突,且必須以版本庫的為準(zhǔn)
     B.有些本地修改是不必要的

    面對這些問題,我們的第一想法就是把被修改的文件恢復(fù)到修改前的樣子。但是如果被修改的文件修改點(diǎn)很分散,或者數(shù)量眾多,甚至我們忘記了備份原有的文件....那么應(yīng)該怎么辦?有沒有一種方法可以幫我們一次性地將對某個(gè)文件所做的全部修改都復(fù)原?有!這就是svn revert命令。

    svn revert命令用于回滾本地尚未提交的任何操作(例如add, delete操作),文件或目錄的內(nèi)容,甚至屬性的修改。

    實(shí)際上svn revert命令是一把“雙刃劍”。它有幾個(gè)需要特別小心的地方:

     A.回滾是不可恢復(fù)的。由于svn revert回滾的是任何未提交的操作,內(nèi)容,屬性。所以意味著SVN不會(huì)為你保存任何回滾前的歷史版本

     B.回滾是不止于一點(diǎn)而是一段時(shí)間的。只要你沒有提交版本,那么不論你多久之前所做的修改都會(huì)被回滾,而不僅僅是最近一次的修改

     C.鑒于svn revert命令如此危險(xiǎn)的特性,所以svn revert命令強(qiáng)制使用者必須給出一個(gè)明確的路徑參數(shù),不允許svn revert這樣的命令執(zhí)行。

    下面我們逐個(gè)來看revert是如何進(jìn)行的:

    ●回滾文件的內(nèi)容
      
    假設(shè)現(xiàn)在我們的ECoupon項(xiàng)目下有文件如下
    C:\>svn list E:\Temp\ECoupon
    WebRoot
    /
    doc
    /
    src
    /
    read
    -from-repo.txt
    read
    -from-wc.txt

    我們修改read-from-wc.txt文件,在其末尾增加一句話:Will revert by "svn revert" command。現(xiàn)在我們來看本地的差異比較

    C:\>svn status E:\Temp\ECoupon
    M      E:\Temp\ECoupon\read
    -from-wc.txt

    C:\
    >svn diff E:\Temp\ECoupon\read-from-wc.txt
    Index: E:
    /Temp/ECoupon/read-from-wc.txt
    =======================================================
    --- E:/Temp/ECoupon/read-from-wc.txt    (revision 18)
    +++ E:/Temp/ECoupon/read-from-wc.txt    (working copy)
    @@ 
    -0,0 +1 @@
    +Will revert by "svn revert" command。
    \ No newline at end of file

    我們看到svn status命令顯示本地的文件已經(jīng)被改變(M),而且svn diff命令展示了這次改變的內(nèi)容就是增加了(+)了“Will revert by "svn revert" command。”這句話(關(guān)于svn diff命令的使用會(huì)在后面講解)。現(xiàn)在我們來回滾這個(gè)文件的內(nèi)容

    C:\>svn revert E:\Temp\ECoupon\read-from-wc.txt
    Reverted 
    'E:\Temp\ECoupon\read-from-wc.txt'

    C:\
    >svn cat E:\Temp\ECoupon\read-from-wc.txt

    可以看到svn revert確實(shí)把本地修改的內(nèi)容回滾了。那么它是如何知道應(yīng)該回滾到那個(gè)版本的呢?答案就是靠本地工作副本每個(gè)目錄下的那個(gè).svn目錄。在這個(gè)目錄下存儲了我們每次的本地修改,執(zhí)行svn revert后SVN會(huì)從這里取得上一個(gè)版本的信息,然后回滾。

    那么svn revert命令能夠一次性回滾多個(gè)文件內(nèi)容的修改嗎?
    C:\>svn status E:\Temp\ECoupon
    M      E:\Temp\ECoupon\read
    -from-wc.txt
    M      E:\Temp\ECoupon\read
    -from-repo.txt

    C:\
    >svn revert E:\Temp\ECoupon\read-from-wc.txt E:\Temp\ECoupon\read-from-repo.txt
    Reverted 
    'E:\Temp\ECoupon\read-from-wc.txt'
    Reverted 
    'E:\Temp\ECoupon\read-from-repo.txt'

    C:\
    >svn status E:\Temp\ECoupon

    C:\
    >

    事實(shí)證明一次回滾多個(gè)文件也是可以的。那么對于整個(gè)目錄呢?像上面的要求我們還有更簡便的做法,請看下面
    C:\>svn status E:\Temp\ECoupon
    M      E:\Temp\ECoupon\read
    -from-wc.txt
    M      E:\Temp\ECoupon\read
    -from-repo.txt

    C:\
    >svn revert E:\Temp\ECoupon --depth=infinity
    Reverted 
    'E:\Temp\ECoupon\read-from-wc.txt'
    Reverted 
    'E:\Temp\ECoupon\read-from-repo.txt'

    C:\
    >svn status E:\Temp\ECoupon

    C:\
    >

    這次的操作有兩個(gè)不同的地方:
     A.我們不是指定到具體的兩個(gè)文件,而是指定到文件所在的目錄
     B.我們增加了一個(gè)--depth=infinity參數(shù)

    這就是svn revet命令的簡便之處,如果確定要回滾的內(nèi)容都在同一個(gè)目錄下,我們就可以一次性地回滾。

    參數(shù)--depth是svn命令的一個(gè)全局參數(shù),用于限制命令執(zhí)行的范圍。可選項(xiàng)包括:empty,file,immediate,infinity。
     

    -------------------------------------------------------------
    生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。
    posted on 2009-12-09 09:47 Paul Lin 閱讀(747) 評論(0)  編輯  收藏 所屬分類: 項(xiàng)目管理
    <2009年12月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(21)

    隨筆分類

    隨筆檔案

    BlogJava熱點(diǎn)博客

    好友博客

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久影视国产亚洲| 在线观看成人免费视频不卡| 国产网站免费观看| 国产精品亚洲自在线播放页码| 成人免费的性色视频| 亚洲欧洲久久精品| 日韩吃奶摸下AA片免费观看| 亚洲人配人种jizz| 国产麻豆剧传媒精品国产免费| 精品国产亚洲一区二区三区在线观看| 日韩免费视频一区| 一级毛片在线播放免费| 亚洲中文字幕在线观看| 久久久精品免费视频| 4444亚洲国产成人精品| 黄页网站在线观看免费高清| 亚洲国产成人久久综合| xvideos亚洲永久网址| a级毛片毛片免费观看久潮| 中文字幕在线观看亚洲| 麻豆国产入口在线观看免费 | 亚洲精品高清国产麻豆专区| 最近2022中文字幕免费视频| 亚洲国产精品免费观看 | 亚洲色成人WWW永久网站| 精品国产一区二区三区免费| 亚洲天堂一区在线| 日韩免费视频一区| 老司机69精品成免费视频| 亚洲日本va在线观看| 亚洲日本中文字幕天堂网| 16女性下面无遮挡免费| 亚洲av无码专区在线观看下载| 亚洲性久久久影院| 2021免费日韩视频网| 在线播放免费人成视频网站| 亚洲高清日韩精品第一区| 免费va在线观看| 最近免费中文在线视频| 五月天婷婷免费视频| 亚洲国产最大av|