> 技术文档 > 【Gerrit】工作场景提交代码实操_gerrit使用教程

【Gerrit】工作场景提交代码实操_gerrit使用教程


一、简介

Gerrit 是建立在 git 版本控制系统之上的,基于 web 的代码审核工具。

二、环境准备

1. Git 配置

git config --global core.filemode false

用于全局配置 Git 忽略文件权限(可执行位)变化的命令

git config --global user.name \"XXX\"

git config --global user.email \"XXX@XX\"

设置了 Git 提交记录中显示的用户名和邮箱。每次提交代码时,Git 会将这些信息嵌入提交对象,用于追踪代码修改的负责人。

2. SSH配置

Gen ssh rsa keys(一直按回车)

ssh-keygen -t rsa

3. 将公钥加入Gerrit

cat $HOME/.ssh/id_rsa.pub

 将整段复制贴上

 4. 配置连线

vim $HOME/.ssh/config

 输入

Host *TCPKeepAlive yesServerAliveInterval 300ServerAliveCountMax 5StrictHostKeyChecking noPubkeyAcceptedKeyTypes +ssh-rsaHost localhost (根据实际参数配置)Hostname localhost (根据实际参数配置)User XXX (xxx为个人账号)Port 29418

 5. 验证连线

ssh -p 29418 localhost

三、图解git仓库

在讲具体的命令之前,我们需要先看张图,理解了这张图,对于理解后面的命令会有帮助。

主要分三部分:远程仓库(remote),本地仓库(repository)和工作区(workspace)。本地仓库和工作区之间还有一个暂存区(index)。

  • 远程仓库(remote)

托管在网络服务器上的代码仓库。

  • 本地仓库(repository)

存储在开发者本地计算机中的仓库,包含项目的完整提交历史和版本信息。

  • 工作区(workspace)

对应的是本地分支代码,是我们平时写代码的地方。

  • 暂存区(index)

git add会把内容加到暂存区,暂存区标记了当前工作区中那些内容是被git管理的。

  • 四者关系与数据流

  1. 工作区 → 暂存区:通过git add将修改加入暂存区。

  2. 暂存区 → 本地仓库:通过git commit生成永久版本记录。

  3. 本地仓库 ↔ 远程仓库:通过git pushgit pull实现同步。

流程图简化

工作区 (编辑文件) → git add → 暂存区 → git commit → 本地仓库 → git push → 远程仓库

四、常用git指令

  • git status
    查看当前仓库状态,显示未跟踪/已修改的文件,以及暂存区与本地仓库的差异。

工作区未有修改文件时:

工作区有修改文件时:

  • git add
    将工作区的文件修改标记为准备提交(添加到暂存区)。支持 git add .(添加所有文件)或 git add (添加特定文件)。

将工作区文件添加到暂存区,再查看当前工作区状态:

  • git commit
    将暂存区的修改永久保存到本地仓库,生成唯一提交记录。

[project] 项目名[Field] 领域[Module] 模块[BUG ID] 对应的bug单号[Description] 修改说明[Test] 测试建议
  • git push
    将本地仓库的提交记录同步到远程仓库。需指定远程仓库名和分支:git push origin HEAD:refs/for/xxx

  • git log
    查看当前分支的提交历史记录,显示提交者、时间及说明。

六、工作流程

  1. 编写代码

  2. git status 查看

  3. git add 暂存

  4. git commit 提交

  5. 推送到gerrit服务器

  6. 审核人员在web页面进行代码的审核(review),也可叫做加分

  7. 审核通过

  8. 提交到代码仓库中(merge)

西北信息网