我想知道将目前托管在github上的所有git存储库移动到基于gitolite的新git服务器的更好方法.
仅仅是为了了解,我正在进行此转换的原因是采用Redmine来支持我们的项目管理流程.
在gitolite-admin/conf/gitolite.conf中添加新的repo
repo my-new-repo
RW+ = your-user
Run Code Online (Sandbox Code Playgroud)
添加,提交并将更改推送到gitolite-admin
git add conf/gitolite.conf
git commit -m "Added my-new-repo"
git push origin
Run Code Online (Sandbox Code Playgroud)
克隆你的github repo并检查所有分支
git clone github.com:/USERNAME/YOUR_REPO.git
cd YOUR_REPO
for branch in `git branch -a | grep remotes | grep -v HEAD | grep -v master`; do git branch --track ${branch##*/} $branch; done
Run Code Online (Sandbox Code Playgroud)
删除github遥控器,并添加你的gitolite遥控器:
git remote rm origin
git remote add origin YOURSERVER:my-new-repo.git
Run Code Online (Sandbox Code Playgroud)
将所有refs推送到由gitolite管理的repo:
git push --all origin
Run Code Online (Sandbox Code Playgroud)
我验证了我的测试存储库中的步骤,并且所有refs似乎都已传播到新的repo中.
更新:像Seth指出的那样,除了分支之外的任何其他引用都不会传播到新的repo.我也觉得镜子会是一个更好的选择.
参考这个:http://gitolite.com/gitolite/basic-admin/#appendix-1-bringing-existing-repos-into-gitolite.怎么样:
git clone --mirror <github git repo path>| 归档时间: |
|
| 查看次数: |
3004 次 |
| 最近记录: |