Git倉庫遷移而不丟失log的方法
要求能保留原先的commit記錄,應該如何遷移呢? 同時,本地已經clone了原倉庫,要配置成新的倉庫地址,該如何修改呢?
1 建立新倉庫
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
這種方式可以保留原版本庫中的所有內容。
切換remote_url
先查看remote的名字
git branch -r 假設你的remote是origin,用git remote set_url 更換地址
git remote set-url origin remote_git_address remote_git_address更換成你的新的倉庫地址。
第二種切換remote_url的方法更直接,直接更改.git/conf配置文件裡的ip地址就行。