git与gerrit基础概念

article/2025/9/30 10:33:07

  • 本文记录了 git 与 gerrit 学习所得

  • 重点关注于当前所用到的实际操作部分,其余理论部分以及更复杂用法留待将来用到时继续补充

1 Git 与 Gerrit

  • Git 是当前全世界流行的分布式版本控制工具,但是只适用于纯文本文件,包括markdown、网页、代码等,一般不用于图片、视频、.doc文档等

  • 实际上是在当前目录下新建一个名为 .git 的隐藏文件夹,作为本地仓库 / 版本库(Repository),切记不可手动直接修改内容

  • Gerrit = Git + 强制代码审核

  • 只有通过了代码审核,才能提交至远程仓库然后合并(merge)

2 Git使用

2.1 一些概念

2.1.1 四块区域

git 在具体使用中,可分为三个区域:

  • 工作区(Working Directory):实际代码文件等存放的地方

  • 暂存区(Stage / Index):已经完成修改,等待最终提交文件的存放之处

  • 本地仓库 / 版本库(Repository):当前分支的最终更改提交处

加上远程仓库,实际可视为使用不同命令,实现文件在四个区域之间来回传输

2.1.2 本地与远程

  • 相较于传统的SVN等集中式版本控制系统,git 的最大优势在于无论有无网络,皆可工作:即可以把仓库建在本地,也可以建在远程服务器

  • 可以先在本地修改,完成后推送到远程服务器,或者是不通过服务器直接互相交换

  • 远程仓库既可以作为备份,又可以让其他人通过该仓库来协作

  • GitHub上免费托管的Git仓库,任何人都可以看到(但只有你自己才能改)因此不能把敏感信息放进去

2.1.3 分支

  • 每一次 commit 可视为增加一个时间节点,因此整个写代码、改代码、提交代码的过程可以串成一条时间线

  • 这条时间线即为默认状态下所用的 master 分支

  • 当多人合作,或者避免在主线上做改动,可以新建分支,例如 develop 分支:

  • 在 develop 分支中的修改完成后可以与 master 中的代码 合并(merge),然后删掉 develop 分支

  • 也可以继续增加分支适应不同删改需求:

2.2 流程

2.2.1 初始化

  • 用户配置

    • git config --global user.name "Your Name"

    • git config --global user.email "email@example.com"

    • 加了 “ --global ” 后,本台机器所有仓库都使用这个用户配置

  • 仓库建立

    • git init:建立仓库

    • 只能监控当前目录与子目录下的文件更改

2.2.2 提交修改

alt

2.2.3 撤回修改

  1. 文件在版本库/仓库需要撤销:

  • 即,版本回退,流程如下:

  1. 文件在暂存区,需要撤销更改且需要退回工作区

  • git reset HEAD < file >

  • 撤销一次 git add,即将暂存区中的文件撤回到工作区

  1. 文件在暂存区,需要撤销更改但不需要退回工作区

  • git check --< file >

  • 撤销回到最近一次 git add 状态,即刚 add 时的状态

  1. 文件在工作区,需要撤销更改

  • git check --< file >

  • 撤销回到最近一次 git commit 状态,即与版本库/仓库中相同的版本

2.3 命令

  • git init:在当前目录下新建本地仓库

  • git pull:取回远程仓库代码,并于本地的合并

    • 实际上 git pull = git fetch + git merge

  • git add < file >:将 file 加入监控

  • git status:查看暂存区状态

  • git diff:查看修改(缓存区文件 V.S. 原始文件)

  • git reset:将暂存区的文档退回至工作区

  • git commit -m " <说明>":将暂存区中的文件提交至本地仓库,并附上<说明>

  • git log:查看上传记录(只有当次的操作记录)

    • --pretty=oneline:查看上传记录,且每条记录缩写至一行内

  • git reflog:查看所有历史命令与版本提交号

  • git checkout:查看当前分支

    • -a:查看所有分支

    • <分支>:切换到<分支>

 


http://chatgpt.dhexx.cn/article/W9ZxCKhZ.shtml

相关文章

Git入门|Git的基本用法(一)

1. Git的安装 首先在安装之前确认一下系统有没有安装Git。在Terminal中输入&#xff1a; git --version若确认系统没有安装git&#xff0c;可通过以下指南安装&#xff1a; Getting Started - Installing Git 2. 创建本地Git库 每次进行新项目时&#xff0c;都需要创建一个…

Gitlab-CI入门配置

Gitlab-CI使用及.gitlab-ci.yml配置 Gitlab-CI/CD 持续集成测试篇 Gitlab-CI/CD使用场景在这里插入代码片 首先&#xff0c;公司使用Gitlab作为工作仓库进行代码发布及版本控制&#xff0c;Gitlab内置了CI/CD的工具&#xff0c;这些工具可以用于代码提交的同时完成镜像构建、…

Gitlab CI/CD:入门指南

功能概览 CI/CD工作流 上图是基本的CI/CD工作流&#xff0c;与之对应的&#xff0c;gitlab几乎提供了上述流程节点所需的所有相关功能&#xff1a; 阶段功能 1. Verify 通过持续集成自动构建和测试你的应用程序 使用GitLab代码质量&#xff08;GitLab Code Quality&#xff09…

GitLab-CI 基础介绍

转载自 kubeclub GitLab-CI 工作原理 将代码托管到 git 仓库在项目的根目录下创建 .gitlab-ci.yml 文件&#xff0c;在文件中包含了构建、测试以及部署等脚本&#xff0c;这些脚本被分组为 stage&#xff0c;共同组成了 pipelineGitLab 检测到 ci.yml 文件&#xff0c;使用 G…

GitLab CI Pipeline

GitLab 不单单只是作为一个代码版本控制的仓库&#xff0c;很多场景下使用 GitLab 作为整合 CI 持续集成就 CD 持续发布的工作平台&#xff0c;那么就是 GitLab 的 CI Pipeline 功能了。 CI Pipeline 试想一下&#xff0c;如果开发人员只需要编写代码&#xff0c;而编译、打包…

CICD之 gitlab和gtilab runner

gitlab官网地址 官网文档地址 https://docs.gitlab.com/runner/install/docker.html 一。gitlab 1。gitlab安装 方式一&#xff1a;rpm包安装&#xff08;centos&#xff09;1,下载rpm包清华源软件镜像站https://mirrors.tuna.tsinghua.edu.cn/linux命令wget https://mirror…

gitlab-CI入门

gitlab-CI 代码管理自动化部署及消息推送 (1) 通过在项目根目录下配置**.gitlab-ci.yml**文件&#xff0c;可以控制ci流程的不同阶段&#xff0c;gitlab平台会扫描.gitlab-ci.yml文件&#xff0c;并据此处理ci流程。 (2) ci流程在每次团队成员push/merge后之后触发。每当你pu…

Gerrit介绍

谷歌 Android 开源项目在 Git 的使用上有两个重要的创新&#xff0c;一个是为多版本库协同而引入的 repo&#xff0c;这在之前我们已经详细讨论过。另外一个重要的创新就是 Gerrit —— 代码审核服务器。Gerrit 为 Git 引入的代码审核是强制性的&#xff0c;就是说除非特别的授…

Git--GUI

前言 上一篇文章简单的分享了Git 的 Bash Here的使用&#xff0c;以及一些Git常用的命令等。本篇文章要分享的内容为Git GUI Here 的使用。 一、GUI GIT官方网站为了解决部分用户通过命令行对git工具使用时的怨声载道的现象&#xff0c;因此推出了一个GIT的可视化工具Git Gui …

GitLab CI介绍——入门篇

本文将会对Gitlab CI进行简要介绍,包括Gitlab Runner,Gitlab CI中的相关概念以及.gitlab-ci.yml的常用配置。 那么,GitLab CI 是什么? GitLab CI 是GitLab内置的进行持续集成的工具,只需要在仓库根目录下创建.gitlab-ci.yml 文件,并配置GitLab Runner;每次提交的时候,…

Gerrit

开发、提交、push、入库流程&#xff1a; repo init -u ssh://gerrit帐号[ip:port/platform/manifest -b 分支名 repo sync -c -f --no-tags -j1 git commit git push origin HEAD:refs/for/分支名 有的可能是这样push的&#xff1a; git push ssh://usernameip:port/path…

CICD详解(八)——gitlab安装与配置

今天继续给大家介绍Linux运维相关知识&#xff0c;本文主要内容是gitlab的安装与配置。 一、安装环境准备 首先&#xff0c;我们先来安装一下Gitlab的依赖包&#xff0c;执行命令&#xff1a; yum install curl policycoreutils openssh-server openssh-clients postfix -y然…

CICD详解(九)——gitlab简单使用

今天继续给大家介绍Linux运维相关知识&#xff0c;本文主要内容是Gitlab简单使用。 一、Gitlab关闭自动注册 在企业生产环境中&#xff0c;我们一般由项目负责人负责创建用户并分配权限&#xff0c;一般禁止员工私自注册用户&#xff0c;以防给项目开发工作带来安全性上的风险…

GitLab -- 简单使用CICD功能

前提&#xff1a; 新建GitLab 项目&#xff0c;可参考我另一篇博客 GitLab -- 创建项目_DGH2430284817的博客-CSDN博客 安装配置好Runner&#xff0c;可参考我另一篇博客&#xff1a; GitLab -- 安装和配置Runner_DGH2430284817的博客-CSDN博客 创建.gitlab-ci.yml 文件&…

Git Gui

目录 1.什么是Git Gui 2. 什么是ssh key 3. git/github生成密钥并通过 第一步&#xff1a;本地电脑配置 1.配置用户名和邮箱&#xff08;如果已经配置&#xff0c;就跳过&#xff09; 2.检查下自己之前有没有已经生成ssh 3.生成(或删除)秘钥 第二步&#xff1a;远程git…

GitLab CI/CD artifacts 属性的配置与使用

😀最新最全的 GitLab CI/CD 全部关键词解析 请查阅该专栏 GitLab CI/CD 关键词 artifacts用于指定在job 成功或失败 时应附加到作业的文件和目录的列表。 作业完成后,工件将被发送到GitLab,并可在GitLab UI中下载 如 artifacts:paths 路径是相对于项目目录($CI_PROJECT…

CI环境搭建-创建git

添加如下配置&#xff1a; 上图说的需每次启动的即下面这个文件&#xff1a; 默认用户名、密码是admin/admin 创建代码仓库&#xff1a; 选择版本库&#xff1a; 使用方法&#xff1a; 1&#xff0c;创建一个文件夹 选择版本库地址&#xff1a; 也可以通过cmd命令来拉取代码&am…

CI持续集成环境搭建(3)--git的安装与搭建

https://blog.51cto.com/superleedo/2057841 1. 安装git *Note:不要用yum安装git&#xff0c; yum源安装git最新版本是1.8.3&#xff0c;该版本太老&#xff0c;之后用git commit 有可能会报错&#xff1a;git: ‘interpret-trailers’ is not a git command. See ‘git --he…

JS 是怎样运行起来的

这里填写标题 1. Js 是怎样运行起来的?1.1. 前言1.2. V8 引擎1.3. CPU 是如何执行机器指令的?1.4. CPU 执行机器指令的流程1.5. V8 引擎的编译流水线1.6. 完整的分析一段 JavaScript 代码是怎样被执行的1.6.1. 初始化基础环境1.6.2. 解析源码生成 AST 和作用域1.6.3. 依据 AS…

bootstrap+javascript制作体重标准计算器

一、表单编辑 使用bootstrap可以快速创建表单样式。needs-validation 可以验证表单&#xff0c;如果验证不通过&#xff0c;表单不会提交&#xff1b; onSubmit"return false;"使得表单提交不会刷新页面&#xff1b; 下方js代码是用来控制表单验证&#xff1b; &l…