• <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>
            隨筆 - 298  文章 - 377  trackbacks - 0
            <2007年8月>
            2930311234
            567891011
            12131415161718
            19202122232425
            2627282930311
            2345678

            常用鏈接

            留言簿(34)

            隨筆分類

            隨筆檔案

            文章檔案

            相冊

            收藏夾

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            1、從svn clone出項目,加上-s參數以標記識別svn標準的目錄分支結構,同時通過show-ignore設置git庫的exclude屬性:

            1. git svn clone -s https://svn.xxx.com/svn/xxx
            2. git svn show-ignore >> .git/info/exclude 

            2、建立本地工作分支,開始工作:

            1. git checkout -b work 

            修改內容直接commit,加上-a開頭以省略git add操作:

            1. git commit -a 

            3、提交回svn的過程:

            1. git checkout master  
            2. git merge work  
            3. git svn rebase  
            4. git svn dcommit 

            在今天工作中,我提交回svn的方式是:

            1. git checkout master  
            2. git svn rebase  
            3. git merge work 

            結果svn rebase時在master分支上產生了一個新的node,這樣merge時就不能快速合并,出現了沖突,修復后,在dcommit時出錯,出現N個孤立節點。因為不熟悉,就checkout出work分支,進行了dcommit,然后重新生成一次git庫。

            今天解決了這個問題,參考以下網址:https://wiki.bnl.gov/dayabay/index.php?title=Synchronizing_Repositories
            以下重新描述一下問題和解決方法:
            1、在執行git svn dcommit時,出現如下錯誤:
            Committing to https://svn.xxx.com/svn/projects/trunk ...
            提交時發生合并沖突: 您的文件或目錄”test/functional/xxx_controller_test.rb“可能已經過時: The version resource does not correspond to the resource within the transaction.  Either the requested version resource is out of date (needs to be updated), or the requested version resource is newer than the transaction root (restart the commit). at /usr/bin/git-svn line 450
            2、這時,重新執行以下步驟即可:

            1. git svn fetch  
            2. git svn rebase  
            3. git svn dcommit 

            但我在執行git svn rebase時,又出現沖突,這個時候,只需要手工合并掉沖突,并重新add一下:

            1. git add . 

            然后,再執行:

            1. git rebase --continue

            如果報告說沒有修改內容,則換成執行:

            1. git rebase --skip 

            完成rebase過程,這時就可以git svn dcommit了。
            這樣,總算解決了svn歷史沖突問題,不用象前面那樣笨笨的重新git-svn clone.


            ***************************************************************************************************
            ***************************************************************************************************

            git是源于linux內核源碼的管理,自然更適合在linux系統下使用。
            在windows環境下,主要有2種方式:msysgit和cygwin內置的git(需要選擇安裝)。
            個人建議使用cygwin git,msysgit的編碼問題確實讓人頭痛。
            當然,如果要使用圖形工具Tortoisegit,就必須安裝msysgit了。

            cygwin配置:
            (1)在/etc/profile末尾加上一行:. "$HOME/.bashrc"
            (2)在$HOME目錄下新建.bashrc文件,寫入一行:source /etc/bash-completion.d/git
            (3)set CYGWIN=tty notitle glob 
                 set LANG=zh_CN 

            git及git-svn使用:

            下載svn源碼:git svn clone http://xxxx myproject       (相當于svn checkout)

            建立臨時分支:git branch aaa
            切換到臨時分支:git checkout aaa
            提交:git add .
            提交確認:git commit
            提交及確認:git commit -a     (git add . + git commit,但新增文件必須要git add .)

            切換回master分支:git checkout master
            合并臨時分支:git merge aaa
            刪除臨時分支:git branch -d aaa

            從svn更新:  git svn rebase                             (相當于svn update)
            提交至svn:  git svn dcommit                            (相當于svn commit)

            查看狀態:git status
            查看diff:git diff,git diff head

             

             

             

            git svn rebase 沖突:

             

            git add . 

            然后,再執行:

            git rebase --continue

            如果報告說沒有修改內容,則換成執行:

            git rebase --skip 

             

             

             


            posted on 2013-06-04 12:16 聶文龍 閱讀(3737) 評論(0)  編輯 收藏 引用 所屬分類: Linux
            日韩欧美亚洲综合久久| 久久亚洲国产精品成人AV秋霞| 色综合久久中文字幕无码| 新狼窝色AV性久久久久久| 热99re久久国超精品首页| 性欧美大战久久久久久久| 亚洲av成人无码久久精品 | 色妞色综合久久夜夜| 久久久亚洲裙底偷窥综合 | 久久免费视频一区| 亚洲AV日韩精品久久久久久| 爱做久久久久久| 一本色道久久综合亚洲精品| 久久香蕉综合色一综合色88| 亚洲国产精品久久久天堂| 亚洲国产精品热久久| 亚洲精品国产美女久久久| 久久久久国产精品嫩草影院| 久久精品国产清高在天天线| 99久久做夜夜爱天天做精品| 激情五月综合综合久久69| 97精品伊人久久大香线蕉app| 日韩精品久久久久久久电影| 久久91精品综合国产首页| www.久久热| 狠狠狠色丁香婷婷综合久久五月 | 亚洲午夜久久久精品影院| 久久综合九色综合网站| 99久久夜色精品国产网站| 亚洲国产成人久久精品99 | 久久综合精品国产一区二区三区| 成人久久精品一区二区三区| 国产成人精品久久| 久久精品国产男包| 久久久国产视频| 香蕉久久久久久狠狠色| 无码人妻久久一区二区三区蜜桃 | 亚洲国产另类久久久精品小说| 武侠古典久久婷婷狼人伊人| 香蕉久久久久久狠狠色| 波多野结衣AV无码久久一区|