搭建自己的repo server极简入门_PHP教程
搭建自己的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)
- git clone git://git.omapzoom.org/git-repo.git
- ./git-repo/repo
2. 安装repo bootstrap
a. 创建本地repo
- mkdir ~/bin/
- cp ./git-repo/repo ~/bin/
b. 设置环境变量:
- vi ~/.profile
- if [ -d "$HOME/bin" ] ; then
- PATH="$HOME/bin:$PATH"
- fi
c. 使环境变量生效
- source ~/.profile
3. patch repo bootstrap
- vi ~/bin/repo
- -- REPO_URL = 'https://gerrit.googlesource.com/git-repo'
- ++ REPO_URL = 'git://codeaurora.org/tools/repo.git'
- fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle
- fatal: error [Errno 101] Network is unreachable
4. 创建项目manifest清单,repo会以manifest中的配置来同步项目
a. 在server上创建manifest.git空仓库,在此以如下remote url地址为例:
- cd manifest.git
- git remote -v
- origin git:manifest (fetch)
- origin git:manifest (push)
b. 在客户端上clone manifest仓库
- git clone git:manifest
c. 创建default.xml文件,repo默认会以manifest仓库的default.xml为配置文件
- cd manifest
- vi default.xml
-
- fetch="git:"
- review="https://android-review.googlesource.com/" />
- remote="origin"
- 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的修改至服务器
- git add default.xml
- git commit -m "udpate default.xml for repo sync test"
- git push origin master
5. 安装完整版repo
a. 先创建并进入一个自定义目录:
- mkdir test-project
- cd test-project
b. 执行如下repo命令,用于初始化repo,并且指定了mainfest项目清单
- repo init -u git:manifest
c. 执行完后,先会有如下log,这里才是真正的clone了完整版的repo:
- Get git://codeaurora.org/tools/repo.git
- remote: Counting objects: 3425, done.
- remote: Total 3425 (delta 0), reused 0 (delta 0)
- Receiving objects: 100% (3425/3425), 753.71 KiB, done.
- Resolving deltas: 100% (2311/2311), done.
- From git://codeaurora.org/tools/repo
- * [new branch] aosp-new/maint -> origin/aosp-new/maint
- * [new branch] aosp-new/master -> origin/aosp-new/master
- * [new branch] aosp-new/stable -> origin/aosp-new/stable
- * [new branch] caf-stable -> origin/caf-stable
- * [new branch] master -> origin/master
- * [new branch] stable -> origin/stable
- * [new tag] v1.0 -> v1.0
- * [new tag] v1.0.1 -> v1.0.1
- ......
- Getting manifest ...
- from git:manifest
- remote: Counting objects: 18, done.
- remote: Compressing objects: 100% (16/16), done.
- remote: Total 18 (delta 4), reused 0 (delta 0)
- Unpacking objects: 100% (18/18), done.
- From git:manifest
- * [new branch] master -> origin/master
d. 接下来会要求初始化repo帐号信息,例子中与git保持一致,例如如下,中括号中的是git帐号信息,
在冒号后输入与其一致的信息即可:
- Your Name [willqian]: willqian
- Your Email [690004467@qq.com]: 690004467@qq.com
- Your identity is: willqian
- is this correct [y/n]? y
e. 此时,目录下会有一个隐藏文件夹.repo,完整版的repo位于路径
- .repo/repo/
6. repo同步项目
a. 同步
- cd test-project
- repo sync
我们进入到test仓库中查看,发现有一个问题,此时处于no branch的状态
- cd test
- git status
- # Not currently on any branch.
- nothing to commit (working directory clean)
b. 切到master分支上
- cd test-project
- repo start master --all
- cd test
- git status
- # On branch master
- nothing to commit (working directory clean)
至此,repo的完整安装以及项目同步的例子便以完成

热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

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

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

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

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

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

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

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系列的主角。李

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