git-repo

git-repo

环境信息:CentOS Linux release 7.9.2009 (Core)

说明

git-repo 是一款客户端工具,对原生 git 命令做了封装,简化 AGit-Flow 等集中式工作流下用户的输入,git-repo 可以支持 Gerrit 以及 AGit-Flow 兼容的代码平台。

git-repo 并不会改变 Git 用户的使用习惯,而是提供了对 git 命令的扩展。git-repo 安装之后,为 Git 提供了一系列的子命令(git repo, git peer-review, ...)。

传统的代码评审工作模式,代码贡献者要将代码推送到个人/特性分支,再通过 Web 界面发起创建合并请求。整个过程要经历多个步骤,开发者要切换到不同的工具才能完成。而使用git-repo,一个用户只要拥有仓库的读取权限,就可以在本地工作区中执行下面的一条命令,将代码以合并请求的方式贡献到服务端。

安装git-repo

说明:

git-repo 依赖 git,在安装 git-repo 之前,需要确保已经安装了 git。

git-repo release地址:https://github.com/alibaba/git-repo-go/releases ,选择对应平台类型的版本下载即可。

cd /tmp
wget https://github.com/alibaba/git-repo-go/releases/download/v0.7.8/git-repo-0.7.8-Linux-64.tar.gz
tar -xf git-repo-0.7.8-Linux-64.tar.gz
cd git-repo-0.7.8-Linux-64
mv git-repo /usr/bin/

查看git-repo

[root@gitlabce ~]# git repo --version   #git-repo --version 也可以
WARNING: You are suggested to install or upgrade git to version 2.10.0 or above
	* The git-interpret-trailers command introduced in git 2.2.0 is used for the Gerrit commit-msg hook.
	* sending custom HTTP headers is only supported in git 2.9.0 and above
	* Some review options are sent using git push-options which are available in git 2.10.0 and above.
git-repo version 0.7.8
git version 1.8.3.1

升级git

配置git的yum源

# 编写repo文件
cat <<EOF > /etc/yum.repos.d/wandisco-git.repo
[wandisco-git]
name=Wandisco GIT Repository
baseurl=http://opensource.wandisco.com/centos/7/git/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://opensource.wandisco.com/RPM-GPG-KEY-WANdisco
EOF
# 导入存储库GPG密钥
rpm --import http://opensource.wandisco.com/RPM-GPG-KEY-WANdisco

安装git

yum -y install git

查看git

[root@gitlabce ~]# git --version
git version 2.39.1

查看git-repo

[root@gitlabce ~]# git repo --version
git-repo version 0.7.8
git version 2.39.1

git-repo配置

git-repo 会在用户主目录下创建扩展的 Git 配置文件:.git-repo/gitconfig。该文件由 git-repo 自动管理,不建议手工修改。如果手工修改该文件,会因为配置文件升级而丢失。

如果该扩展 git 配置文件不存在,执行 git-repo 命令完成初始化:

$ git repo version

应用

单仓库代码评审:https://git-repo.info/zh_cn/docs/single-repo/

多仓库协同和代码评审:https://git-repo.info/zh_cn/docs/multi-repos/

相关推荐
TGB-Earnest1 小时前
【py脚本+logstash+es实现自动化检测工具】
大数据·elasticsearch·自动化
大圣数据星球3 小时前
Fluss 写入数据湖实战
大数据·设计模式·flink
suweijie7684 小时前
SpringCloudAlibaba | Sentinel从基础到进阶
java·大数据·sentinel
high20119 小时前
【Git】-- 版本说明
git
Data跳动9 小时前
Spark内存都消耗在哪里了?
大数据·分布式·spark
kaixin_learn_qt_ing9 小时前
git clone
git
sin22019 小时前
git stash
git
喝鸡汤9 小时前
一起学Git【第二节:创建版本库】
git
慢慢成长的码农9 小时前
git 同步分支操作
git
sin220110 小时前
git推送本地仓库到远程(Gitee)
git·gitee