久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

SVN使用教程

 斗進館 2014-04-08

概要

概述

        SAE自2011-7-10日起,,將全面支持SVN代碼部署,用戶不僅可以通過任何SVN客戶端部署代碼,,而且SAE現(xiàn)有的代碼部署方式也已經(jīng)對接應(yīng)用的SVN倉庫,,即使不使用SVN客戶端部署代碼,也保證了代碼版本,。

        如:通過在線代碼編輯器(http://sdk.tools.sinaapp.com)等方式對代碼的修改,、部署等操作也會像svn commit一樣,產(chǎn)生一個新版本。通過SVN客戶端svn update可以獲取最近的更新,,也可以通過svn客戶端回滾代碼,。

SVN倉庫地址:  https://svn.sinaapp.com/your_app_name (您可以通過此地址直接訪問)

如:應(yīng)用域名是 test.sinaapp.com,那么SVN倉庫地址是:https://svn.sinaapp.com/test

SVN用戶名:  SAE安全郵箱    

SVN密碼:  SAE安全密碼(如已啟用微盾動態(tài)密碼,,則此處填寫“安全密碼”+“微盾動態(tài)密碼”)

注:SVN用戶名和密碼為安全郵箱和安全密碼,,不是微博賬號和微博密碼!

與標準SVN的區(qū)別

  為了保持與SAE兼容,,使用svn方式部署代碼到SAE有如下限制:

    1,、文件名或目錄名不允許含有以下字符:",*,?,<,>,|,另外文件或文件名的開始與結(jié)束也不允             許有空格,。

    2,、上傳單個文件大小不超過20M

    3、單個目錄下的文 件個數(shù)不能超過2000個

    4,、每個應(yīng)用代碼總大小不超過100M

    5,、單個版本代碼總大小不超過50M

    6、appname目錄下只允許存在10個以內(nèi)的版本,,并且版本號必須為正整數(shù),。(也就是說appname下面只允許出現(xiàn)10個以內(nèi)的正整數(shù)             目錄名,不允許有非目錄的存在)

代碼部署原理

  SAE代碼部署分為三步:

  創(chuàng)建應(yīng)用

        登陸SAE在線管理平臺,,“創(chuàng)建新應(yīng)用”(http://sae.sina.com.cn/?m=myapp&a=create)時,,如果創(chuàng)建成功,系統(tǒng)會自動為該應(yīng)用創(chuàng)建一個SVN倉庫,。假設(shè)新創(chuàng)建的應(yīng)用名為newapp,,那么倉庫地址為:

        https://svn.sinaapp.com/newapp/

        此時,可以通過本地SVN客戶端檢出(checkout)該應(yīng)用的本地工作目錄,。

  部署代碼

     SAE提供了不同的代碼部署方式,,可以分為兩類:

          一是通過SVN客戶端部署,這是SAE推薦的代碼部署方法,。

          另一個是通過非SVN客戶端部署,,即在線代碼在線編輯器和推薦應(yīng)用安裝。

        這兩類代碼部署方法都會更新應(yīng)用的SVN倉庫版本,,但必須注意的是非SVN客戶端部署方式無法提供版本管理功能,,只能看到最新版本的代碼,也無法回滾代碼,。

        因此,,強烈建議僅使用SVN客戶端方式部署代碼,如果同時使用非SVN客戶端方式部署,,為避免代碼版本沖突,,請及時在本地SVN工作目錄下執(zhí)行svn update操作,,保證本地工作目錄與線上代碼保持一致。

  驗證

        代碼更新后,,通過svn update或直接通過瀏覽器訪問應(yīng)用查看代碼是否已經(jīng)更新到線上,。

相關(guān)資源

  TortoiseSVN下載:http:///downloads.html

  Subversion中文站:  http://www./

Windows SVN

使用TortoiseSVN客戶端

        在Windows下推薦使用烏龜(Tortoise)SVN客戶端。 TortoiseSVN 是 Subversion 版本控制系統(tǒng)的一個免費開源客戶端,,可以超越時間的管理文件和目錄,。文件保存在中央版本庫(即SAE中央SVN倉庫),除了能記住文件和目錄的每次修改以 外,,版本庫非常像普通的文件服務(wù)器,。你可以將文件恢復到過去的版本,并且可以通過檢查歷史知道數(shù)據(jù)做了哪些修改,,誰做的修改,。這就是為什么許多人將 Subversion 和版本控制系統(tǒng)看作一種“時間機器”。

下載安裝

   TortoiseSVN下載:http:///downloads.html

又不是在linux下,,安裝就不多說了 :)

下面詳細介紹使用TortoiseSVN向SAE部署代碼,。

創(chuàng)建本地工作目錄

        第一步,如圖1,,創(chuàng)建一個新文件夾作為本地工作目錄(Working directory),,可以使用應(yīng)用名為文件夾名。如,,為我的應(yīng)用devcenter創(chuàng)建本地工作目錄。

  第二步,,從SAE的SVN倉庫檢出(checkout)一個應(yīng)用的全部版本代碼,,如圖2,右鍵-->點擊“SVN Checkout”

  在彈出頁面中填寫倉庫路徑即可,,這里是:https://svn.sinaapp.com/devcenter/,,其它默認參數(shù)即可,如圖3:

  Reversion處,,“HEAD revision”是指最新版,,也可以指定Revision為任意一個版本。

  點擊“OK”,,出現(xiàn)下載界面,,如圖4:

  如果一切順利,devcenter應(yīng)用所有版本代碼將會全部出現(xiàn)在剛剛創(chuàng)建的devcenter文件夾下,,如圖5:

修改代碼

  在本地使用你喜歡的編輯器,,編輯任意文件,保存后該文件圖標將會出現(xiàn)紅色感嘆號,,如圖6所示:

        看,,剛剛修改過的index.php變色了。下面需要提交(commit)最近的更新。在index.php文件上擊右鍵,,出現(xiàn)菜單 ,,

選擇“SVN commit”,如圖7:

  然后填寫關(guān)于本次更新的日志(log message),,這是必填項,,否則commit會失敗。如圖8:

  當您看到如圖9所示,,表明剛才的修改已經(jīng)成功提交,,并且前該devcenter項目的SVN版本號加1,變成30.

新增文件/文件夾

        在 SVN工作目錄下,,對于文件修改,,完成后只需要commit就ok了,但對于新增文件,,或者從其它目錄復制進來的文件或文件夾,,需要在commit之前需 要做一步add操作,即將文件或文件夾添加到svn工作目錄中來,,否則SVN客戶端不認它,。具體操作很簡單,如圖10:

  然后再如圖7所示,,右鍵commit 即可,。

  更多Tortoise SVN使用幫助,請參閱:http://www./tsvndoc/

Notepad++集成svn插件

  Notepad++ 是一款Windows環(huán)境下很受歡迎的免費開源的代碼編輯器,,有很豐富的第三方插件,。

  下面介紹Notepad++的svn插件的安裝及使用。

    如圖12,,點擊Plugin --> Plugin Manager --> Show Plugin Manager

    打開后,,在“Available”頁找到“Subversion”,然后點擊“Install”,,如圖13所示:

    安裝成功后會在Plugins菜單下出現(xiàn)"Subversion"子菜單,。

            打開之前checkout下來的任一文件,如devcenter/1/index.php,,編輯完成后,,點擊Plugins --> Subversion --> Commit File(或使用    快捷鍵Ctrl+Alt+A)

    出現(xiàn)熟悉的一頁,如圖14所示:

    對,,這就是烏龜SVN的Commit頁面,,輸入Log Message,點擊“OK”即可提交,。

使用UltraEdit Studio部署

    UltraEdit Studio(注意不是UltraEdit,,UltraEdit不能與SVN整合)配置稍微復雜些,。

    第一步,SVN倉庫賬號設(shè)置,,如圖15所示:

    然后填寫倉庫信息,,如圖16所示:

    完成后,創(chuàng)建Project,,如圖17所示:

        填寫project名b.prj后,,出現(xiàn)如圖18所示"Project Settings",點擊“Add Folder”,,出現(xiàn)“NewFolder”,,將"Group"前的勾去掉,然后點擊“Browse”,,在“Browse for Folder”頁找到之前checkout出現(xiàn)的本地工作目錄,。

    點擊“OK”后出現(xiàn)提示,如圖19所示:

    表明UEStudio自動識別出了選擇的代碼目錄是一個SVN工作目錄,,并詢問是否整合,,點擊“Yes”,出現(xiàn)如圖20所示:

    大功告成,,"Close"之后即可以編輯代碼,,并隨時commit修改。如圖21所示:

使用EditPlus部署

    EditPlus依賴于Tortoise SVN(TSVN),,必須先安裝,。

    使用最簡單,見圖22所示:

當編輯SVN工作目錄里的文件時,,F(xiàn)ile --> TSVN即出現(xiàn)相應(yīng)可操作的菜單,。

Linux/Mac SVN

倉庫地址

https://svn.sinaapp.com/appname/

    為了傳輸安全,SAE要求統(tǒng)一使用https方式部署代碼,;

創(chuàng)建倉庫

      登陸SAE在線管理平臺(http://sae.sina.com.cn),創(chuàng)建應(yīng)用,,成功后您即可以檢出該應(yīng)用代碼,。

      例如,您剛剛創(chuàng)建了應(yīng)用newapp,,在本地執(zhí)行:

          svn checkout https://svn.sinaapp.com/newapp

      第一次checkout時需要驗證,,用戶名/密碼為您的SAE安全郵箱和安全密碼(非微博登陸賬號密碼,如已啟用微盾動態(tài)密碼,,則此處填寫“安全密碼”+“微盾動態(tài)密碼”),。

創(chuàng)建版本

      假如,為newapp應(yīng)用創(chuàng)建版本1

      目前提供兩種方式:

使用svn客戶端

svn checkout https://svn.sinaapp.com/newapp  #此處需要認證,,用戶名/密碼為您的SAE安全郵箱和安全密碼(如已啟用微盾動態(tài)密碼,,則此處填寫“安全密碼”+“微盾動態(tài)密碼”)

cd newapp

mkdir 1

svn add 1

svn commit -m"add version 1 for newapp"

使用在線管理平臺

          在SAE在線管理平臺“代碼管理”處創(chuàng)建版本即可,。但為了避免與本地倉庫沖突,務(wù)必在本地工作目錄下執(zhí)行:svn update ,,將最近的更新拉到本地來,。

更新代碼

          更新代碼前本地必須有一個工作目錄(Working Directory),創(chuàng)建工作目錄很簡單,,只需要檢出(checkout)代碼倉庫即可,。如,對于已經(jīng)創(chuàng)建好的應(yīng)用newapp,,在本地執(zhí)行:

     svn checkout https://svn.sinaapp.com/newapp

          輸入安全賬號和安全密碼,,即完成本地工作目錄的創(chuàng)建。

上傳代碼

      需要增加某個文件或文件夾,,如部署wordpress到版本1,。

svn checkout https://svn.sinaapp.com/newapp

cd newapp/1

cp -rf /path/to/wordpress/* ./

svn add ./*

svn commit -m"add wordpress"

修改代碼

      假如需要修改newapp應(yīng)用版本1根目錄下某個文件,如index.php,,完整的操作流程如下:

svn checkout https://svn.sinaapp.com/newapp    #如果已經(jīng)checkout過了,,不需要重新checkout。

cd newapp/1

vim index.php   #這里編輯代碼

svn commit -m "edit index.php"

配置應(yīng)用(appconfig)

        在應(yīng)用版本根目錄下,,如newapp/1下,,創(chuàng)建文件config.yaml(語法參見:http://sae.sina.com.cn/?m=devcenter&catId=193),然后通過svn commit即可完成應(yīng)用配置,。

        如,,現(xiàn)在需要更新應(yīng)用newapp的默認版本3的appconfig,操作如下:

    svn checkout https://svn.sinaapp.com/newapp    #如果已經(jīng)checkout過了,,不需要重新checkout,。

    cd newapp/3

    vim config.yaml   #這里按照config.yaml語法編輯即可。

    svn commit -m "update config.yaml"

        注意:config.yaml不會被部署到用戶的代碼目錄,,但會被存儲在服務(wù)端SVN倉庫中,。因此下次可以被checkout出來,但不會被用戶訪問到,。

在線編輯代碼

      SVN可以在線閱讀應(yīng)用代碼,,地址即SVN倉庫地址:https://svn.sinaapp.com/appname/

      將appname換成自己的應(yīng)用名即可登陸查看代碼。

      在線編輯器 可在管理面板>>代碼管理>>編輯代碼 打開

SVN for SAE的限制條件

      為了保持與SAE兼容,,使用svn方式部署代碼到SAE有如下限制:

      1,、文件名或目錄名不允許含有以下字符:",*,?,<,>,|,另外文件或文件名的開始與結(jié)束也不允許有空格,。

      2,、上傳單個文件大小不超過4M

      3、單個目錄下的文 件個數(shù)不能超過400個

      4,、每個應(yīng)用代碼總大小不超過100M

      5,、單個版本代碼總大小不超過50M

      6,、appname目錄下只允許存在10個以內(nèi)的版本,并且版本號必須為正整數(shù),。(也就是說appname下面只允許出現(xiàn)10個以內(nèi)的正整數(shù)             目錄名,,不允許有非目錄的存在)

常見錯誤說明及解決辦法

錯誤提示
錯誤原因
解決方法

The change log need some words(not null)
提交時沒有添加log message
提交時加上log message即可

The log message is a pathname (was -F intended?); use '--force-log' to override
log message 與路徑名稱相同
修改log message

Error file xxx in not allowed in root directory!
working copy的根目錄下不允許有名為xxx的文件(只能是正整數(shù)版本目錄)
刪除該文件或者移到到版本目錄下

directory xxx/ is not allowed in root directory! Only positive integer dirs are allowed!

working copy的根目錄下不允許有名為xxx的目錄(只能是正整數(shù)版本目錄)
刪除該目錄或者移到版本目錄下

Too many versions!(less than 10 is permited)
版本目錄多于10個,最多不超過10個
刪除剛剛創(chuàng)建的版本目錄即可,。

Too many files: XXX (less than 2000 is allowed).
XXX目錄下文件的數(shù)量超過2000
刪除XXX目錄下的文件,,使其總數(shù)降至2000以下

dir APPNAME/dir(size:xxxx) is too large less than xxx
該應(yīng)用下代碼(不包括.svn目錄)總大小超過100M,或某個版本總大小超過50M
刪除不必要的代碼再嘗試提交

File XXX is too large!(less than 4M)
單個文件大小超過4M
刪除重試

類似Repository UUID '305daf1b-94be-48ee-a4b9-f4bcd36320de' doesn't match expected UUID '44e2f7a2-1b69-4710-974a-b6edef0fdc12'
服務(wù)器端倉庫被刪除重建,,客戶端對原倉庫進行操作導致,。
重新checkout出一份代碼即可

add vers xxx faild
文件部署失敗
內(nèi)部原因,請聯(lián)系[email protected],。

常用svn命令說明

    1,、從SVN倉庫中檢索出代碼到工作拷貝:

           # svn checkout https://svn.sinaapp.com/appname [workcopy]

           其中workcopy是可選的,如果不寫workcopy,,SVN會默認將appname做為workcopy,。

           如果只檢索某個版本:

           # svn checkout https://svn.sinaapp.com/appname/appversion [workcopy]

           只檢索某個版本的某個目錄:

           # svn checkout https://svn.sinaapp.com/appname/appversion/folder [workcopy]

    2、向SVN倉庫提交代碼:

           # svn commit -m "here is message"

    3,、將本地文件添加到工作拷貝:

           # svn add something

           注:如果something為文件,,svn會將這個文件添加到工作拷貝;如果something是目錄,,svn會將目錄及里面的文件全添加到工作                      拷貝,。something也可以是通配符*,這樣會忽略已經(jīng)添加過的文件,。

    4,、從工作拷貝中刪除一個文件:

           # svn delete something

           注:如果something為文件,svn會將這個文件從工作拷貝中刪除,;如果something是目錄,,svn會將目錄及里面的文件全部從工作                      拷貝中刪除。

    5,、直接從SVN倉庫中刪除文件:

           # svn delete -m "delete something" https://svn.sinaapp.com/appname/appversion/something

           注:可以從SVN倉庫中直接刪除單個文件或單個目錄甚至某個版本,。

    6、將一個本地項目導入到SVN倉庫:

           導入應(yīng)用的某個版本:

           # svn import localdir https://svn.sinaapp.com/appname/appversion

           注:要確保目前應(yīng)用的appversion不沖突,。

    7,、查看工作拷貝中的文件或目錄狀態(tài):

           # svn status [something]

    8,、更新自己的工作拷貝:

           # svn update

           注:從SVN倉庫下載最新版本,,此命令會導致本地沒有提交的更改丟失,建議使用此命令前先查看一下本地拷貝狀態(tài)(svn status).

    9,、取消對代碼修改

           取消對代碼的修改分為兩種情況,。

第一種情況:改動沒有被提交(commit),。

           這種情況下,,使用svn revert就能取消之前的修改。

           svn revert用法如下:

           # svn revert [-R] something

           其中something可以是(目錄或文件的)相對路徑也可以是絕對路徑,。

           當something為單個文件時,,直接svn revert something就行了;當something為目錄時,,需要加上參數(shù)-R(Recursive,遞歸),,否則              只會將something這個目錄的改動。

           在這種情況下也可以使用svn update命令來取消對之前的修改,,但不建議使用,。因為svn update會去連接倉庫服務(wù)器,耗費時間,。

           注意:svn revert本身有固有的危險,,因為它的目的是放棄未提交的修改。一旦你選擇了恢復,,Subversion沒有方法找回未提交的修                        改,。

第二種情況:改動已經(jīng)被提交(commit)。這種情況下,,用svn merge命令來進行回滾,。 

           回滾的操作過程如下: 

             1) 保證我們拿到的是最新代碼: 

                  svn update 

                  假設(shè)最新版本號是28。 

             2) 然后找出要回滾的確切版本號: 

                  svn log [something]

                  假設(shè)根據(jù)svn log日志查出要回滾的版本號是25,,此處的something可以是文件,、目錄或整個項目

                  如果想要更詳細的了解情況,可以使用svn diff -r 28:25 [something]

             3) 回滾到版本號25:

                  svn merge -r 28:25 something

                  為了保險起見,,再次確認回滾的結(jié)果:

                  svn diff [something]

                  發(fā)現(xiàn)正確無誤,,提交。

             4) 提交回滾:

                  svn commit -m "Revert revision from r28 to r25,because of ..." 

                  提交后版本變成了29,。

                  將以上操作總結(jié)為三條如下:

                  a. svn update,,svn log,找到最新版本(latest revision)

                  b. 找到自己想要回滾的版本號(rollbak revision)

                  c. 用svn merge來回滾: svn merge -r : something

    10,、查看SVN倉庫日志信息:

            # svn log [workcopy]

            查看所有本地的歷史日志,,如果workcopy為某文件,那么就是查看某個文件的日志信息,。

            查看SVN倉庫所有文件的日志信息:

            # svn log https://svn.sinaapp.com/appname/

            這個命令會查看所有修改過的日志,。

    注:SAE提供的SVN服務(wù)完全支持標準SVN的所有命令,更詳細的使用說明請查閱SVN官方幫助文檔,。

            SVN命令幫助文檔:http://www./svnbook/1.4/svn.ref.html

            中文完全幫助文檔:http://svnbook./index.zh.html 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多