方式1:
git clone --bare old.git
cd old.git
git push --mirror new.git
方式2:
git clone --mirror old.git
cd old.git
git remote set-url origin new.git
git push -f origin
如果遇到如下情况,请使用第一种方式
! [remote rejected] refs/tmp/acb8c4b72a19a2077ad7469f6ffaf2d2/head -> refs/tmp/acb8c4b72a19a2077ad7469f6ffaf2d2/head (deny updating a hidden ref)
error: failed to push some refs to 'new.git'
迁移过后修改本地项目关联的git远程仓库url
# 第一种方式
git remote set-url origin new.git
# 第二种方式
git remote remove origin
git remote add origin new.git
# 第三种方式
cd project_dir
vim .git/config
#替换url为new.git 如下
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = new.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[user]