共计 2710 个字符,预计需要花费 7 分钟才能阅读完成。
续上节,我们配置了《Ubuntu Gitolite 管理 Git Server 代码库权限》,在这里测试下 Gitolite 如何导入其它 git 代码库,要求:原服务器有 sdk.git 项目,我们导入到 Gitolite 并配置权限管理。停止原服务器对 sdk.git 的操作,将代码库直接打包
1 | git@Ubuntu: /git $ tar -zcf sdk. tar .gz sdk.git |
将 sdk.tar.gz 传到 Gitolite 服务器,我传到 /tmp 下面
Gitolite 管理服务器上执行
先添加同名的项目
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | [gitadmin@apdn1 conf]$ vi gitolite.conf repo gitolite-admin RW+ = gitadmin repo testing RW+ = @all repo sdk #sdn 名称与要导入的项目名一样 RW+ = gitadmin # 授于用户权限 [gitadmin@apdn1 gitolite-admin]$ git add . [gitadmin@apdn1 gitolite-admin]$ git commit -m "add sdk repo" [master 1245da2] add a new repo Committer: sunny <sunny@apdn1.(none)> Your name and email address were configured automatically based on your username and hostname . Please check that they are accurate. You can suppress this message by setting them explicitly: git config --global user.name "Your Name" git config --global user.email you@example.com If the identity used for this commit is wrong, you can fix it with: git commit --amend --author= 'Your Name <you@example.com>' 1 files changed, 3 insertions(+), 1 deletions(-) [gitadmin@apdn1 gitolite-admin]$ git push Counting objects: 7, done . Delta compression using up to 4 threads. Compressing objects: 100% (3 /3 ), done . |
Gitolite 服务器
2. 导入 git 代码库
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 进入到 gituser 的项目库目录 /home/gituser/repositories gituser@ubuntu:~ /repositories $ ls gitolite-admin.git sdk.git testing.git 可以看到我们刚刚建的 sdk.git 项目已经存在 我们只需要清空里面的文件 gituser@ubuntu:~ /repositories $ rm -rf sdk.git/* 然后将我们刚刚传到 /tmp/sdk . tar .gz 解压后拷贝过来 gituser@ubuntu: /tmp $ tar -zxf sdk. tar .gz gituser@ubuntu: /tmp $ cd sdk.git gituser@ubuntu: /tmp/sdk .git$ mv * /home/gituser/repositories/sdk .git/ |
3. 测试
sdk 项目只有 gitadmin 有权限操作
1 2 3 4 5 6 7 8 9 10 | [gitadmin@apdn1 tmp]$ git clone gituser@192.168.1.50:sdk Initialized empty Git repository in /tmp/sdk/ .git/ remote: Counting objects: 34, done . remote: Compressing objects: 100% (32 /32 ), done . remote: Total 34 (delta 8), reused 0 (delta 0) Receiving objects: 100% (34 /34 ), 17.92 KiB, done . Resolving deltas: 100% (8 /8 ), done . 顺利拉取成功。 其它修改,提交正常。还有就是之前代码库所有的日志记录也存在。 |
好了,以上就是 Gitolite 如何导入其它 git 代码库。
gitolite 功能不错,其它功能后续再续写了。
Git / Gitolite 的应用学习 http://www.linuxidc.com/Linux/2015-02/113441.htm
使用 Gitolite 搭建 Git 服务器 http://www.linuxidc.com/Linux/2014-06/103004.htm
基于 Gitolite 的 Git 服务架设 http://www.linuxidc.com/Linux/2014-02/96991.htm
Fedora 通过 Http Proxy 下载 Git http://www.linuxidc.com/Linux/2009-12/23170.htm
在 Ubuntu Server 上安装 Git http://www.linuxidc.com/Linux/2009-06/20421.htm
服务器端 Git 仓库的创建(Ubuntu)http://www.linuxidc.com/Linux/2011-02/32542.htm
Linux 下 Git 简单使用教程(以 Android 为例)http://www.linuxidc.com/Linux/2010-11/29883.htm
Git 权威指南 PDF 高清中文版 http://www.linuxidc.com/Linux/2013-10/91053.htm
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2015-10/124253.htm