目录
搭建自己的repo server极简入门
首页 后端开发 php教程 搭建自己的repo server极简入门_PHP教程

搭建自己的repo server极简入门_PHP教程

Jul 12, 2016 am 09:04 AM
android

搭建自己的repo server极简入门

这篇文章主要作为一个学习笔记,同时也希望可以帮助到其他有需要的朋友

首先感谢如下几篇文章的指导:

http://blog.csdn.net/hansel/article/details/9798189
http://blog.csdn.net/lb5761311/article/details/47723455
http://bbs.mfunz.com/thread-1015705-1-1.html
http://blog.csdn.net/sunweizhong1024/article/details/8055372
http://blog.csdn.net/itleaks/article/details/30021395?utm_source=tuicool&utm_medium=referral


正文 -- repo完整安装及项目同步


1. 下载repo bootstrap(repo的启动文件,用于安装完整的repo)

  1. git clone git://git.omapzoom.org/git-repo.git
clone完成后,repo bootstrap文件位于如下路径:

  1. ./git-repo/repo


2. 安装repo bootstrap

a. 创建本地repo

  1. mkdir ~/bin/
  2. cp ./git-repo/repo ~/bin/

b. 设置环境变量:

  1. vi ~/.profile
确保有如下三行

  1. if [ -d "$HOME/bin" ] ; then
  2. PATH="$HOME/bin:$PATH"
  3. fi

c. 使环境变量生效

  1. source ~/.profile
使bin路径生效,以后可以直接命令行repo执行


3. patch repo bootstrap

  1. vi ~/bin/repo
按照如下diff做修改

  1. -- REPO_URL = 'https://gerrit.googlesource.com/git-repo'
  2. ++ REPO_URL = 'git://codeaurora.org/tools/repo.git'
这一步骤必须做,否则会在第4步时,出现如下log中repo URL下载超时的问题:

  1. fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle
  2. fatal: error [Errno 101] Network is unreachable
超时是因为gerrit.googlesource.com被墙了


4. 创建项目manifest清单,repo会以manifest中的配置来同步项目

a. 在server上创建manifest.git空仓库,在此以如下remote url地址为例:

  1. cd manifest.git
  2. git remote -v
  3. origin git:manifest (fetch)
  4. origin git:manifest (push)

b. 在客户端上clone manifest仓库

  1. git clone git:manifest

c. 创建default.xml文件,repo默认会以manifest仓库的default.xml为配置文件

  1. cd manifest
  2. vi default.xml
输入如下内容:



  1. fetch="git:"
  2. review="https://android-review.googlesource.com/" />
  3. remote="origin"
  4. sync-j="4" />




manifest配置分为三大部分:remote default 以及 project,分别进行讲解

remote:
指代同步项目的一个server地址(可有多个remote)
name为一个唯一标识的名字
fetch为url的前缀,在我们的例子当中,仓库路径一概都是git:XXX,所以前缀就是"git:"
review暂时可以不予考虑,以例子中的为准

default:
指代同步项目使用的默认server配置:
revision指代git分支的名字
remote指代使用的remote server
sync-j表示同步项目时并行个数

project:
指代同步项目的git仓库,这里假设我们有一个git:test的仓库(可以有多个)
name就是git仓库名test
path就是设置仓库存放在repo project的哪个目录下,这里就直接设置为存放在repo project子目录的test中

d. 同步default.xml的修改至服务器

  1. git add default.xml
  2. git commit -m "udpate default.xml for repo sync test"
  3. git push origin master


5. 安装完整版repo

a. 先创建并进入一个自定义目录:

  1. mkdir test-project
  2. cd test-project

b. 执行如下repo命令,用于初始化repo,并且指定了mainfest项目清单

  1. repo init -u git:manifest

c. 执行完后,先会有如下log,这里才是真正的clone了完整版的repo:

  1. Get git://codeaurora.org/tools/repo.git
  2. remote: Counting objects: 3425, done.
  3. remote: Total 3425 (delta 0), reused 0 (delta 0)
  4. Receiving objects: 100% (3425/3425), 753.71 KiB, done.
  5. Resolving deltas: 100% (2311/2311), done.
  6. From git://codeaurora.org/tools/repo
  7. * [new branch] aosp-new/maint -> origin/aosp-new/maint
  8. * [new branch] aosp-new/master -> origin/aosp-new/master
  9. * [new branch] aosp-new/stable -> origin/aosp-new/stable
  10. * [new branch] caf-stable -> origin/caf-stable
  11. * [new branch] master -> origin/master
  12. * [new branch] stable -> origin/stable
  13. * [new tag] v1.0 -> v1.0
  14. * [new tag] v1.0.1 -> v1.0.1
  15. ......
  16. Getting manifest ...
  17. from git:manifest
  18. remote: Counting objects: 18, done.
  19. remote: Compressing objects: 100% (16/16), done.
  20. remote: Total 18 (delta 4), reused 0 (delta 0)
  21. Unpacking objects: 100% (18/18), done.
  22. From git:manifest
  23. * [new branch] master -> origin/master

d. 接下来会要求初始化repo帐号信息,例子中与git保持一致,例如如下,中括号中的是git帐号信息,
在冒号后输入与其一致的信息即可:

  1. Your Name [willqian]: willqian
  2. Your Email [690004467@qq.com]: 690004467@qq.com
  3. Your identity is: willqian
  4. is this correct [y/n]? y

e. 此时,目录下会有一个隐藏文件夹.repo,完整版的repo位于路径

  1. .repo/repo/


6. repo同步项目

a. 同步

  1. cd test-project
  2. repo sync
完成后,可以通过log看到,manifest项目清单中列出的test仓库已clone完毕
我们进入到test仓库中查看,发现有一个问题,此时处于no branch的状态

  1. cd test
  2. git status
  3. # Not currently on any branch.
  4. nothing to commit (working directory clean)

b. 切到master分支上

  1. cd test-project
  2. repo start master --all
通过这个操作,我们再次进入到test仓库中,看到已处于master分支上

  1. cd test
  2. git status
  3. # On branch master
  4. nothing to commit (working directory clean)


至此,repo的完整安装以及项目同步的例子便以完成

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1075900.htmlTechArticle搭建自己的repo server极简入门 这篇文章主要作为一个学习笔记,同时也希望可以帮助到其他有需要的朋友 首先感谢如下几篇文章的指导:...
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
威尔R.E.P.O.有交叉游戏吗?
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

新报告对传闻中的三星 Galaxy S25、Galaxy S25 Plus 和 Galaxy S25 Ultra 相机升级进行了严厉的评估 新报告对传闻中的三星 Galaxy S25、Galaxy S25 Plus 和 Galaxy S25 Ultra 相机升级进行了严厉的评估 Sep 12, 2024 pm 12:23 PM

最近几天,Ice Universe 不断披露有关 Galaxy S25 Ultra 的详细信息,人们普遍认为这款手机将是三星的下一款旗舰智能手机。除此之外,泄密者声称三星只计划升级一款相机

三星 Galaxy S25 Ultra 泄露了第一张渲染图,传闻中的设计变化被曝光 三星 Galaxy S25 Ultra 泄露了第一张渲染图,传闻中的设计变化被曝光 Sep 11, 2024 am 06:37 AM

OnLeaks 现在与 Android Headlines 合作,首次展示了 Galaxy S25 Ultra,几天前,他试图从他的 X(以前的 Twitter)粉丝那里筹集到 4,000 美元以上的资金,但失败了。对于上下文,嵌入在 h 下面的渲染图像

IFA 2024 | TCL 的 NXTPAPER 14 在性能上无法与 Galaxy Tab S10 Ultra 相媲美,但在尺寸上几乎可以与之媲美 IFA 2024 | TCL 的 NXTPAPER 14 在性能上无法与 Galaxy Tab S10 Ultra 相媲美,但在尺寸上几乎可以与之媲美 Sep 07, 2024 am 06:35 AM

除了发布两款新智能手机外,TCL 还发布了一款名为 NXTPAPER 14 的新 Android 平板电脑,其大屏幕尺寸是其卖点之一。 NXTPAPER 14 采用 TCL 标志性品牌哑光液晶面板 3.0 版本

Vivo Y300 Pro 在 7.69 毫米纤薄机身中配备 6,500 mAh 电池 Vivo Y300 Pro 在 7.69 毫米纤薄机身中配备 6,500 mAh 电池 Sep 07, 2024 am 06:39 AM

Vivo Y300 Pro刚刚全面亮相,它是最薄的中端Android手机之一,配备大电池。准确来说,这款智能手机的厚度仅为 7.69 毫米,但配备了 6,500 mAh 的电池。这与最近推出的容量相同

三星 Galaxy S24 FE 预计将以低于预期的价格推出,有四种颜色和两种内存选项 三星 Galaxy S24 FE 预计将以低于预期的价格推出,有四种颜色和两种内存选项 Sep 12, 2024 pm 09:21 PM

三星尚未就何时更新其 Fan Edition (FE) 智能手机系列提供任何提示。目前来看,Galaxy S23 FE 仍然是该公司的最新版本,于 2023 年 10 月年初推出。

新报告对传闻中的三星 Galaxy S25、Galaxy S25 Plus 和 Galaxy S25 Ultra 相机升级进行了严厉的评估 新报告对传闻中的三星 Galaxy S25、Galaxy S25 Plus 和 Galaxy S25 Ultra 相机升级进行了严厉的评估 Sep 12, 2024 pm 12:22 PM

最近几天,Ice Universe 不断披露有关 Galaxy S25 Ultra 的详细信息,人们普遍认为这款手机将是三星的下一款旗舰智能手机。除此之外,泄密者声称三星只计划升级一款相机

小米红米 Note 14 Pro Plus 上市,成为首款配备 Light Hunter 800 摄像头的高通 Snapdragon 7s Gen 3 智能手机 小米红米 Note 14 Pro Plus 上市,成为首款配备 Light Hunter 800 摄像头的高通 Snapdragon 7s Gen 3 智能手机 Sep 27, 2024 am 06:23 AM

Redmi Note 14 Pro Plus 现已正式成为去年 Redmi Note 13 Pro Plus 的直接后继产品(亚马逊售价 375 美元)。正如预期的那样,Redmi Note 14 Pro Plus与Redmi Note 14和Redmi Note 14 Pro一起成为Redmi Note 14系列的主角。李

iQOO Z9 Turbo Plus:可能增强的系列旗舰产品已开始预订 iQOO Z9 Turbo Plus:可能增强的系列旗舰产品已开始预订 Sep 10, 2024 am 06:45 AM

OnePlus的姐妹品牌iQOO的2023-4年产品周期可能即将结束;尽管如此,该品牌已宣布 Z9 系列的开发尚未结束。它的最终版,也可能是最高端的 Turbo+ 变体刚刚按照预测发布。时间

See all articles