Git/Gerrit/代码提交

目录

Git

名词解释

什么是修改?

版本控制

本地版本控制系统

集中化的版本控制系统

分布式版本控制系统

Gerrit

为什么要使用Gerrit?

Gerrit特点

Gerrit的优点

缺点

安装Git客户端

安装Git客户端

Gerrit配置Git环境

Gerrit设置用户名和电子邮件

Gerrit生成新的SSH密钥

生成新的SSH密钥

Gerrit添加SSH密钥


  1. Git

Git需要清楚的几个术语

Workspace:工作区 Index/Stage:暂存区,也叫索引 Repository:仓库区(或本地仓库),也存储库 Remote:远程仓库

  1. 名词解释

工作区: 通过git init创建的代码库的所有文件但是不包括.git文件(版本库) 暂存区: 通过git add ./*/Xxx/Xxxx 添加的修改,都是进入到暂存区了,肉眼不可见 通过 git status 可以看到修改的状态。

  1. 什么是修改?

比如你新增了一行,这就是一个修改, 删除了一行,也是一个修改, 更改了某些字符,也是一个修改, 删了一些又加了一些,也是一个修改, 甚至创建一个新文件,也算一个修改。

  1. 版本控制

版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。

  1. 本地版本控制系统

许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别。 这么做唯一的好处就是简单,但是特别容易犯错。 有时候会混淆所在的工作目录,一不小心会写错文件或者覆盖意想外的文件

其中最流行的一种叫做 RCS,现今许多计算机系统上都还看得到它的踪影。 甚至在流行的 Mac OS X 系统上安装了开发者工具包之后,也可以使用 rcs 命令。 它的工作原理是在硬盘上保存补丁集(补丁是指文件修订前后的变化);通过应用所有的补丁,可以重新计算出各个版本的文件内容。

  1. 集中化的版本控制系统

集中化的版本控制系统(Centralized Version Control Systems,简称 CVCS)。这类系统,诸如 CVSSubversion(SVN) 以及 Perforce 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。

缺点是中央服务器的单点故障。 如果宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。 如果中心数据库所在的磁盘发生损坏,又没有做恰当备份,毫无疑问您将丢失所有数据——包括项目的整个变更历史,只剩下人们在各自机器上保留的单独快照。

  1. 分布式版本控制系统

于是分布式版本控制系统(Distributed Version Control System,简称 DVCS)。在这类系统中,像 GitMercurialBazaar 以及 Darcs 等,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。 这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。 因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份。

  1. Gerrit

Gerrit由Shawn Pearce在Google开发,是用Java,Servlet,GWT(Google Web Toolkit)编写的。Gerrit的稳定版本是2.12.2,它根据Apache许可证v2许可,于2016年3月11日发布。

  1. 为什么要使用Gerrit?
  • 使用Gerrit可以很容易地找到源代码中的错误。

  • 如果有常规的Git客户端,则无需安装任何Gerrit客户端。

  • Gerit可以用作开发人员和git存储库之间的中介(中间部分)。

  1. Gerrit特点
  • Gerrit是一个免费和开源的git版本控制系统。

  • Gerrit用户界面是在Google Web Toolkit上构建的。

  • 它是审查每个提交的轻量级框架。

  • Gerrit充当存储库,它允许推送代码并为您的提交创建审查。

  1. Gerrit的优点
  • Gerrit为Git仓库和Web前端提供了访问控制来进行代码审查。

  • 可以推送代码而不使用其他命令行工具。

  • Gerrit可以允许或拒绝存储库级别和分支级别的权限。

  • Gerrit在eclipse中集成支持。

  1. 缺点
  • 审查,验证和重新提交代码会影响产品上线时间。

  • Gerrit只能使用git工作。

  • Gerrit很慢,无法更改列出更改的排序顺序。

  • 需要管理员权限才能在Gerrit上添加存储库。

  1. 安装Git客户端

安装Git客户端

Linux 可以使用软件包管理工具在Linux上安装Git。例如,如果使用Fedora,那么可以使用:

如果您使用基于Debian的发行版,如Ubuntu,那么使用以下命令:

Windows 可以从Git网站下载Git在Windows上安装。打开链接:msysgit.github.io,点击下载按钮。

Mac 可以通过使用以下命令,在Mac上安装Git:

也可以通过从Git网站下载Git来安装。下载链接:Git - Downloading Package

  1. Gerrit配置Git环境

当安装了Git,需要自定义配置变量来添加您的个人信息。可以使用Git工具(叫作git config)和-l选项(此选项提供当前配置)来获取和设置配置变量。

git config -l

当运行上面的命令,应该会看到配置的变量,结果如下所示:

  1. Gerrit设置用户名和电子邮件

可以通过设置名称和电子邮件变量来跟踪每个提交。name变量指定名称,email变量标识与Git提交相关联的电子邮件地址。可以使用以下命令设置这些:

git config --global user.email "your_email@mail.com"
git config --global user.name "your_name"
Shell

当您运行上述命令时,将获得用户名和电子邮件地址,如下图所示:

  1. Gerrit生成新的SSH密钥

SSH表示Secure Shell或有时用于从远程计算机安全访问网络服务的Secure Socket Shell协议。可以设置SSH密钥用来在计算机和Gerrit之间提供可靠的安全连接。

Git Bash中使用以下命令查看本地计算机上的SSH密钥:

Welcome to Git (version 1.9.5-preview20150319)   

Run 'git help git' to display the help index. 
Run 'git help <command>' to display help for specific commands. 

 Administrator@Y-PC /C/Users/Administrator/Desktop (master) 
 $ ls ~/.ssh/ 
 id_rsa  id_rsa.pub  known_hosts  
 
 Administrator@Y-PC /C/Users/Administrator/Desktop (master) 
 $ 

按下Enter键后,将看到现有的SSH密钥,如下图所示:

  1. 生成新的SSH密钥

可以在Git Bash中,使用以下命令生成新的SSH密钥以进行身份验证:

$ ssh-keygen -t rsa -C "your_email@mail.com"
Shell

如果已经有了SSH密钥,那么就不要再生成新密钥。即生成新的密钥,也只是覆盖原来的密钥。

当运行上面的命令,它将在~/.ssh目录中创建2个文件。

  • ~/.ssh/id_rsa: 它是私钥或识别密钥。

  • ~/.ssh/id_rsa.pub: 它是公钥。

  1. Gerrit添加SSH密钥

Gerrit - Add Your SSH Key

可以在不同平台上向SSH密钥添加SSH密钥,如下所示:

Linux系统

在Linux系统上使用以下命令添加SSH密钥:

cat /home//.ssh/id_rsa.pub
Shell

Windows

打开GIT GUI,并转到帮助 ->显示SSH密钥,如下图所示:

然后单击复制到剪贴板按钮,将键复制到剪贴板。

苹果电脑

在Mac OS X中,可以使用以下命令将id_rsa.pub内容复制到剪贴板:

$ pbcopy < ~/.ssh/id_rsa.pub

未完待续。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值