2016年8月11日 星期四

使用 Git Mirror 無痛轉移 Git Server

使用 Git Mirror 無痛轉移 Git Server

git clone mirror 選項,它可以把整個 repo 的資訊都 clone 下來,包括 branches, tags

再用 git push --mirror 把整包都丟到新的 git server 上面的 repo 裡。

Example

    整包 clone 下來
    1.        
        git clone --mirror gitolite@git.lab317.org:dinos80152/Authentication

    2.
        到 gitlab 建一個空的 repo

    3.
        進到專案資料夾,設定新的遠端 git repo 位置
            cd Authentication.git/
            git remote set-url --push origin git@gitlab.lab317.org:dinos80152/Authentication.git

    4.
        local 更新 remote branch,因為是新的 repo,就是將本地的 origin/xxx 都刪囉。-p == --prune
            git fetch -p origin

    5.
        最後將整包 push 上去
              git push --mirror

    可以在 Gitlab 上看到 repo 裡有以前在 Gitolite 的所有紀錄與東西囉。

reference: https://dinos80152.wordpress.com/2015/09/21/%E4%BD%BF%E7%94%A8-git-mirror-%E7%84%A1%E7%97%9B%E8%BD%89%E7%A7%BB-git-server/

沒有留言:

張貼留言