添加已有的git项目

http://www.cnblogs.com/xl19862005/archive/2011/06/28/2092464.html

上文原文

如果你有一个现成的git仓库,想放到 gitserver上供team使用(比如你clone了一个官方的kernel仓库,想在内部使用它作为基础仓库),怎么办呢。

首先需要从你的工作仓库中得到一个纯仓库, 比如你的工作目录为~/kernel, 你想导出纯仓库到你的优盘里,然后拷贝到gitserver上去。

$ git clone –bare ~/kernel /media/udisk

然后就拿着优盘,交给gitserver的管理员,让他拷贝到/home/repo/下,同时需要配置 gitosis相关配置文件哦,这个就不用再说了吧。比如:下载ALSA库:

git clone git://android.git.kernel.org/platform/external/alsa-lib.git

git clone git://android.git.kernel.org/platform/external/alsa-utils.git

生成bare库

git clone –bare alsa-lib alsa-lib.git

git clone –bare alsa-utils alsa-utils.git

将bare 库移动到git服务器目录

cp alsa-lib.git /home/repo

注意变更所有者,以获取提交权限。

chown -R git alsa-lib.git

然后就O 了,呵呵.

但是会出现以下错误

 
Initialized empty Git repository in /home/norton/work/test/test/box_client/.git/
fatal: 'repositories/box_client.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly


总结:发现ServerA创建的纯仓库拿到ServerB中,是不能被Clone下来的。但是本地的纯仓库是可以的,如ServerB Clone下ServerA后,创建纯仓库B,放到gitosis仓库中,是可以被下载的。


做法1:我从a server中clone下一个库,我自己在这基础上修改过了,然后在此基础上产生一个纯仓库,copy到自己server的版本仓库中,想从client端直接copy这个新版本。暂时发现这是不行的。

但是,我在服务器,把client端的代码clone下来后,再创建一个服务器版的纯仓库,同样的仓库是可以被其它client clone下来的。

 

方法2:在ServerB中clone ServerA的项目,然后在ServerB中push本地仓库

在clone下来的项目中,执行如下步骤:


su  先切换为管理员权限

git remote add local  /home/repo/test.git     新建一个远程branch,指向本地仓库

git push local master              执行push操作就完成了


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值