Git
Commit Message
A Note About Git Commit Messages@tpope
Git Mirror
最近想把公司的舊專案慢慢從 Gitolite 換到 Gitlab 上。
研究了一下 git clone mirror 選項,它可以把整個 repo 的資訊都 clone 下來,包括 branches, tags。
如果你有連進去 git server 看過遠端 repo 怎麼存的話,它就是把那整個資料夾給載下來。
我們再用 git push --mirror 把整包都丟到新的 git server 上面的 repo 裡。
Example
整包 clone 下來
git clone --mirror gitolite@git.lab317.org:dinos80152/Authentication
到 gitlab 建一個空的 repo
進到專案資料夾,設定新的遠端 git repo 位置
cd Authentication.git/ git remote set-url --push origin git@gitlab.lab317.org:dinos80152/Authentication.git
local 更新 remote branch,因為是新的 repo,就是將本地的 origin/xxx 都刪囉。-p == --prune
git fetch -p origin
最後將整包 push 上去
git push --mirror
可以在 Gitlab 上看到 repo 裡有以前在 Gitolite 的所有紀錄與東西囉。