前言

git服务器上的目录和本地.git目录不一样,是git bare类型,是禁止直接修改的。

问题

当需要从一台git服务器上迁移git项目到另一天git服务器上时

第一步 获取git仓库

可以git clone --bare url,将项目克隆下来,也可以通过直接拷贝git服务器中的git目录,作用是一样的。

例子 git clone --bare http://localhost:3000/Jieshao/Demo.git

第二步 pushgit仓库

在新的git仓库新建git库,在你要迁移的git bare中使用git bash工具 git push  --mirror url,就可以了,去看看新仓库什么样子吧,需要注意的是git bare由于不能直接管理,当成.git目录git gui是打不开的。

例子  git push  --mirror  http://localhost:3000/Jieshao/Demo.git

其他

如果你想直接将git bare放到新git服务器的git仓库目录,这样是不行的,因为git服务器没有创建该仓库的数据。如果你的git服务器有自动重新检索用户下git仓库的功能就可以使用

更多推荐