搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
从前慢现在也慢
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
hbase shell启动后输入list出现ERROR: KeeperErrorCode = NoNode for /hbase/master_hbase输入list没有反应
2
四、大数据实践——模型预测及分析
3
逻辑回归 + GBDT模型融合实战!
4
解决react项目启动报错:error Couldn't find a package.json_error couldn't find a package.json file
5
2024 前端面试题_2024前端面试题
6
Obsidian使用Git同步
7
git shanchu stash_git stash pop 冲突,git stash list 中的记录不会自动删除的解决方法...
8
基于用户的相似性度量
9
鸿蒙OpenHarmony【小型系统 编译】(基于Hi3516开发板)_鸿蒙4.0 如何单独编译内核
10
Anaconda 环境中安装OpenCV (cv2)_conda安装cv2_anaconda如何下载cv2库
当前位置:
article
> 正文
repo 服务器环境搭建及客户端使用_repo 环境配置
作者:从前慢现在也慢 | 2024-05-28 09:27:07
赞
踩
repo 环境配置
1. repo准备
a. 创建repo的git仓库 --在服务器端创建
# cd /opt/git
# mkdir -p tv608/manifest.git
# cd tv608/manifest.git
# git init --bare
b. 将repo仓库添加到gitosis
# git clone git@gitserver:gitosis-admin.git
# cd gitosis-admin
# vi gitosis.conf
[group repo-worker]
writable = manifest
members = root@darling
# git add gitosis.conf
# git commit -m "add repo manifest"
# git push
c. 初始化repo manifest.git仓库的master分支 --在客户端创建及提交
# mkdir manifest
# cd manifest
# git init
# touch readme
# git add .
# git remote add origin git@192.168.15.121:tv608/manifest.git
# git push origin master
d. 为repo仓库添加default.xml文件
2. xml 格式详解
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="aosp" fetch="https://android.googlesource.com/" />
<remote name="github" fetch="git://github.com" review="review.cyanogenmod.com" />
<default revision="refs/heads/ics" remote="github" sync-j="4" />
<project path="build" name="CyanogenMod/android_build">
<copyfile src="core/root.mk" dest="Makefile" />
</project>
<project path="abi/cpp" name="platform/abi/cpp" remote="aosp" revision="refs/tags/android-4.0.3_r1" />
<project path="bionic" name="CyanogenMod/android_bionic" />
... ...
</manifest>
a. remote 标签定义远程仓库资源
name 定义的仓库名字,供下面引用
fetch 定义仓库源的url
b. default 标签定义默认使用的远程仓库,当project没有指定remote远程仓库属性时使用
revision 分支名
remote 远端仓库地址
c. project 标签定义工厂项目资源
name对应的是远端服务器地址
path对应的是本地代码地址
remote 表示使用的远端仓库地址
3. 客户端使用repo
# /bin/repo init -u git://repo-server/tv608/manifest.git
# /bin/repo sync
可以用 -m 参数来选择获取 repository 中的某一个特定的 manifest 文件,如果不具体指定,那么表示为默认的
namifest 文件 (default.xml)
repo init -u git://android.git.kernel.org/platform/manifest.git -m dalvik-plus.xml
(有诸多供我们选择的manifest文件,所有的manifest文件都放在目录.repo/manifests中,该目录本身亦被git所管
理,你可以cd进去看看)
可以用 -b 参数来指定某个manifest 分支。
repo init -u git://android.git.kernel.org/platform/manifest.git -b release-1.0
你会发现.repo/manifests是个被git管理的仓库,这里放的是所有的manifest文件(*.xml),因为被git管理,固
然有 分支,-b可以切换到你想要的分支然后再下载相关的xml文件,当然具体下载那个xml还要看-m参数了,所以如果你仅仅
指定-b而没有-m的话,就是下 载-b指定分支下的default.xml文件
如果不指定-b参数,那么会默认使用master分支
4. 如果git clone git://sss/sss 不能够的话,是没有启动守护进程,没有运行远端访问
开启远程git协议访问控制 // 其实git clone git@gitserver_ir:project.git 这样的格式是使用ssh登录git服务
器,是在ssh通道上面执行git协议的
# sudo apt-get install git-daemon-run
安装后会创建下面两个用户
# cat /etc/passwd | grep git
gitlog:x:117:65534::/nonexistent:/bin/false
gitdaemon:x:118:65534::/nonexistent:/bin/false
# dpkg -L git-daemon-run -- 查看安装包安装了哪些文件
# vim /etc/sv/git-daemon/run
修改--export-all --base-path=/opt/git 为你git 的仓库根目录,并添加--export-all参数
加入 --export-all 后,在git仓库中就不必创建git-daemon-export-ok文件。
--enable=receive-pack 加入这个参数后,客户可以提交代码更新,默认是不允许的
# sudo sv stop git-daemon
# sudo sv start git-daemon
或者:
#sudo runsv git-daemon
# git clone git://serverip/project
or
# git clone git://serverip/project.git
5. repo 配置 是通过在所有的库上面建同样的分支呢,还是通过repo库本身不同版本的xml来控制呢?
6. repo 客户端使用流程
a. 版本管理基本流程
与知识库交互的基本流程如下:
1、建立新的分支——repo start
2、编辑代码文件
3、stage文件更改——git add
4、提交更改——git commit
5、提交更改到review服务器——repo upload
b. 任务处理
下面详细介绍了如何使用Repo和Git命令。
1) 同步本地客户端
同步所有的工程文件——repo sync
同步特定的工程文件——repo sync PROJECT0 PROJECT1 PROJECT2 ...
2) 创建分支
每当开始编辑文件比如开始修改bug和添加新的功能,需要在本地创建特定的分支。分支并不是原始文件的拷贝,它作
为特定提交的标示,该标示创建本地分支并在分支间进行轻量级切换,分支可以隔绝一个方面的更改。
创建分支——repo start BRANCH_NAME
验证新分支的有效性——repo status
3) 分支使用
分配分支到特定工程——repo start BRANCH_NAME PROJECT
本地环境中切换分支——git checkout BRANCH_NAME
列出所有分支——git branch or repo branches
4) staging文件
默认情况下,git工具提示但并不跟踪工程的更改,为了通知git保存代码的变化,我们必须commit代码,即“staging
”。
stage文件更改——git add
该命令可以接受任何文件和工程目录,git添加文件到git知识库,并且stage文件更改、删除的记录。
5) 浏览客户端状态
展示文件状态——repo status
展示未提交的文件编辑——repo diff
6) 提交更改
git中commit是版本管理的基本单元,包含了工程的目录结构和文件内容。
创建commit——git commit
执行该命令后editor中弹出commit提示信息,最好能够提供有益的帮助信息。如果没有添加log信息,该次commit提交会
被遗弃。
7) 提交更改到Gerrit
upload之前更新最新的版本——repo sync
接着提交代码——repo upload
之后呈现我们提交的更改,并提示我们选择分支。
8) 处理代码冲突
提交代码时如果遇到冲突,需要执行以下操作:进入相关的工程目录,针对冲突的文件运行git add和git commit命令,
恢复更改。如下:
git add .
git commit
git rebase --continue
恢复更改后再次重复整个更新:
repo sync PROJECT0 PROJECT1 ... PROJECTN
如果本地又对刚刚提交的代码进行了修改,提交时可以直接覆盖上次的提交,执行如下命令:
git add files
git commit --amend
repo upload
9) 清除客户端文件
merge代码到Gerrit之后,更新本地的工作目录:
repo sync
安全清除陈旧的分支执行以下命令:
repo prune
想恢复代码到以前的分支,可以执行以下命令:
git log
git reset hard
10) 删除客户端代码
由于代码所有的代码信息存储在本地,我们仅需要删除目录即可完成:
rm -rf WORKING_DIRECTORY
删除本地代码后将会永久的删除所有提交的更改。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/636781
推荐阅读
article
openEuler
网络配置+换源+
桌面环境
ukui
等基本环境部署_
openeuler
.
repo
...
镜像下载、域名解析、时间同步请点击 阿里云开源镜像站1.网络配置你可以选择查看官方文档进行配置:配置网络 (openeu...
赞
踩
article
Jenkins
+
gitee
无法拉取代码一直报错_
error
:
error
fetching re...
Jenkins
+
gitee
无法拉取代码一直报错_
error
:
error
fetching
remote
repo
...
赞
踩
article
Gerrit
、
repo
的
使用
_
gerrit
repo
...
一、引言
Gerrit
,一种免费、开放源代码的代码审查软件,
使用
网页界面。利用网页浏览器,同一个团队的软件程序员,可以相互...
赞
踩
article
GIT
&
REPO
&
GERRIT
(
一
)
_
gerrit
替代方案...
在软件项目中,代码管理是
一
件相当重要的事情。想象
一
下Google做Andoird系统没有
一
个强有力的代码管理系统会是怎么...
赞
踩
article
repo
使用手册_
root
-
repo
...
Repo 命令手册Repo 的使用形式如下:
repo
可选元素显示在方括号[]里面。例如,许多命令接受的项目列表作为参数...
赞
踩
article
Git
-
Repo
-
Gerrit
_将
本地
repo
镜像推送到远程
gerrit
服务器
...
Git
是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理,是目前使用范围最广的版本管理工具...
赞
踩
article
repo
管理多
git
项目_
repo
保存
多个
git
当前
修改...
1.
repo
工具的安装$ mkdir ~/bin$ PATH=~/bin:$PATH //也可以配到环境变量里面去Do...
赞
踩
article
Git
学习笔记(六)——
repo
极简
操作
指南_
repo
sync
-
j
...
repo
极简
操作
指南_
repo
sync
-
j
repo
sync
-
j
...
赞
踩
article
repo
+
gerrit
...
一、安装
repo
mkdir ~/bin //用户目录下建bin curl https://storage.googl...
赞
踩
article
【
Git
&
Repo
&
Gerrit
】...
2019独角兽企业重金招聘Python工程师标准>>> ..._git,repo,gerritg...
赞
踩
article
Git
学习笔记(一)
--
本地
操作_`
--
repo
-url`使用
本地
仓库
...
一、设置
仓库
设置
Git
的设置有三种生效范围:当前
仓库
、当前系统用户、当前系统。优先级递减。如果添加了
--
global标志...
赞
踩
article
Golang
如何得到
git
repo
的 URL_
git
repo
sitory
url
...
【代码】
Golang
如何得到
git
repo
的 URL。_
git
repo
sitory
url
git
repo
sit...
赞
踩
article
repo
使用...
为https//android.googlesource.com/,命名为platform/build的git库,访问的...
赞
踩
article
MAVEN
仓库
配置_-
dmaven
.
repo
.
url
...
1.两类
仓库
1.1本地
仓库
(local
repo
sitory)可以自定义本地
仓库
的位置,修改${user.home}/....
赞
踩
article
repo
用法_--
repo
-
url
...
repo
用法_--
repo
-
url
--
repo
-
url
Repo是谷歌用Python脚本写的调...
赞
踩
article
repo
的
简单介绍_
repo
init
中
的
--
repo
url
...
这里
repo
指google-api出品
的
一款叫git-
repo
的
工具,使用python开发
repo
的
目
的
是将分散
的
多个g...
赞
踩
article
一个
spec
repo
远程
仓库
可以
添加
多个私有
pod
库_
一个
仓库
里多个
pod
spec
...
可以先后执行
pod
repo
add LBTextToolhttps://gitee.com/liuboliu/lxbr...
赞
踩
article
基于
svn
服务器及
cocoapods
-
repo
-
svn
插件
进行
组件
化私有库的创建...
一、准备
组件
化随着业务需求的增长,在单工程 MVC 模式下,app 代码逐渐变得庞大,面对的高耦合的代码和复杂的功能模块...
赞
踩
article
pod
repo
查看本地
pod
仓库信息分支为 Type:
git
(
unknown
)_- typ...
如图,执行
pod
repo
查看本地
pod
仓库信息之后,发现自己新添加的私有索引库的
git
是
unknown
, 而...
赞
踩
article
【转】
android
repo
/
git
server
建立过程(
1
)...
一、安装
git
dameon$ sudo apt-get install
git
-daemon-run二、设置仓库目录修...
赞
踩
相关标签
Linux
运维
jenkins
gitee
android
git
android开发
repo
移动开发
golang
github
java
ubuntu
repo用法
cocoapods
ruby