發表文章

目前顯示的是 8月, 2016的文章

使用 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/

複製 git source code 到 新的 git server 並保持所有 commit

如果你想從 Git server 那裡複製一份源代碼到新的 Git server 上的話,可以通過以下步驟來操作。 1). 從原地址克隆一份裸版本庫,比如原本託管於 GitHub。     git clone --bare git://github.com/username/project.git 2). 然後到新的 Git 服務器上創建一個新項目,比如 GitCafe。 3). 以鏡像推送的方式上傳代碼到 GitCafe 服務器上。     cd project.git     git push --mirror git@gitcafe.com/username/newproject.git 4). 刪除本地代碼     cd ..     rm -rf project.git 5). 到新服務器 GitCafe 上找到 Clone 地址,直接 Clone 到本地就可以了。     git clone git@gitcafe.com/username/newproject.git 這種方式可以保留原版本庫中的所有內容。