git clone --bare old/repo.git
cd repo.git

# if 有lfs的话
git lfs fetch --all
git lfs push --all new/repo.git
# endif

git push --mirror new/repo.git

上边这种方式比较简单和快捷,首先使用--bare的方式直接克隆旧服务器上的仓库到本地,这种方式的克隆没有本地工作区的参与。然后使用--mirror的方式推送到新的服务器上就行,推送前,服务器上要先建立出空的仓库。


还有一种就是常规的方式:

  1. 从旧仓库正常克隆下来,或者之前本地已经存在的仓库。
  2. 根据需要,可以选择性的推送哪些分支、标签等到新的仓库上。