三、       Gerrit的注册及使用

  1. 1.         简介

Gerrit为代码审核工具,git提交的代码,必须经过审核才能合入到正式的版本库中。

  1. 2.         注册步骤

(1)       向部门配置管理员申请Gerrit账号。

(2)       登陆部门提供的服务器。使用个人github账户进行登陆。

(3)       首次登陆,需要填写一些基本信息

Username——注册账号的用户名

Fullnmame——gerrit中显示的用户名

Email——统一使用个人分配的公司邮箱,设置过程会接收到一份验证邮件

(4)       配置public key

点击网页右上角登陆用户名处,选择下拉菜单中settings

选择SSH Public Key一项

点击Add Key添加在本机生成的public key,生成方法可参照网页提示或在网上查找

(5)       通知配置管理员添加相关代码权限

  1. 3.         使用介绍

(1)基本

All->Open 所有正在等待审核的代码提交单

All->Merged 所有已经审核通过的代码提交单

All->Abandoned 所有被丢弃的代码提交单

注意:每次本地提交完代码后,需要到网页上查看是否提交成功,状态是否出现冲突,如图第一条中的状态为代码冲突,需要重新拉取最新代码后解完冲突再上传

(2)代码下载

Project ->List,可以查看所有权限以内的的代码工程,点击其中一个进入代码工程菜单,

进入后可看到工程代码下载的地址,git clone……

注意,需要切换至clone with commit-msg hook, SSH的选项地址,才可以下载。

复制地址后粘贴至git窗口即可启动下载。

(3)更多gerrit使用方法,查看Documentation选项

四、       Git使用方法及规范

  1. 1.       git配置用户名及邮箱

git  config  --global  user.email 邮箱名(必须和gerrit设置的一致)

git  config  --global  user.name 用户名

  1. 2.       git下载产生Change-IDcommit_msg文件

commit_msg文件用于自动为每个提交生成Changes-Id,任何一个代码提交,必须有Changes-Id才能够上传成功。如执行前面步骤后,工程文件夹下仍无commit_msg文件,则执行以下操作步骤。

(1)文件下载

在库工程目录中输入以下语句:

scp -p -P 29418 gerrit用户名@服务器连接

(2)设置git全局配置文件

以上文件下载,必须每次创建代码工程时,都必须将commit-msg文件拷贝到对应的.git/hooks/文件才会生效。设置全局的文件配置,则无需每次都进行以上下载或拷贝操作。

A. 创建一个全局的git配置目录 .git-template/

B. 将以上文件目录配置到git中,git  config  --global  init.templatedir  ‘~/.git-template’

C. 创建目录mkdir –P ~/.git-templates/hooks

D. 将下载好的commit-msg文件拷贝至以上目录,并做提权操作chmod a+x  commit-msg

E.  重新下载git库,其对应的.git/hooks目录下就会自动拷贝了commit-msg文件了

  1. 3.       使用git进行代码开发的过程

(1)       初始化代码仓库

复制gerrit网页的下载地址进行下载

(2)       切换开发分支

进入对应工程代码仓目录,

git branch –a      查看该工程所有代码分支

git checkout –b 本地分支名 origin/远程分支名    创建指向远程分支的本地分支

git checkout 本地分支名          切换本地分支

注意:代码开发时,需要在指定的代码分支下进行开发,否则无法提交代码。

(3)       查询提交记录

git log          查看当前分支的提交记录

git log 分支名   查看指定分支的提交记录

(4)       开发代码提交

A. 需要进行代码提交时,git status查看代码修改情况是否正确

B. git add –A将所有修改文件加入缓存区

C. git commit生成一条提交,在弹出的窗口中写入 i,然后写注释

D. 退出编辑注释步骤:Esc > : > wq

E.  消息git log 查看是否提交成功,提交是否产生changes-ID

F.  git fetch --all 将远程代码同步到本地

G. git rebase 将远程代码对应分支与当前分支代码合并

H. 出现合入冲突,需要手动解决冲突后,执行

git add –A 和 git rebase –continue

I.   git log 查看提交是否合入成功

J.   git push origin HEAD:refs/for/分支名称 将本地提交上传服务器,等待审核

注意:每次上传代码前,必须执行同步远程代码的步骤,否则会导致无法合入代码。

提交命令补充:

git reset 单号   取消提交单

git push origin HEAD:refs/for/分支名称 快捷输入方式:

Ctrl+R 然后输入git p   然后按Tab

追加代码到未审核的代码块里,如果之前提交的代码已被审核则无法追加:

1、git commit –amend

2、git push …

(5)       更新本地后台代码

A、 查看状态是否被更改git status

B、 若被更改则git add -A

C、 然后重置本地代码更改git reset --hard

D、 更新分支git fetch --all

E、  合并到本地代码 git rebase

git初步用法的更多相关文章

  1. Git的用法

    Git的用法 Git 的也可以理解为版本控制器.版本控制器(维基的解释):维护工程蓝图的标准作法,能追踪工程蓝图从诞生一直到定案的过程.此外,版本控制也是一种软件工程技巧,借此能在软件开发的过程中,确 ...

  2. git subtree用法(转)

    git subtree用法 一.使用场景 例如,在项目Game中有一个子目录AI.Game和AI分别是一个独立的git项目,可以分开维护.为了避免直接复制粘贴代码,我们希望Game中的AI子目录与AI ...

  3. git初步使用

    git初步使用 主要目的:使用代码控制工具,练习使用git 1.创建新项目 网址如下: https://github.com/kellyseeme?tab=repositories 注意每个人使用的名 ...

  4. git revert用法以及与git reset的区别

    git revert用法 git revert 撤销 某次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销 作为一次最新的提交 * git revert HEAD     ...

  5. Git进阶用法

    Git高阶用法 1. 基本概念 你的本地仓库由Git维护的三棵树组成.第一个是你的工作目录,它持有实际文件:第二个是缓存区(Index),它像个缓存区域,临时保存您的改动:最后是HEAD,指向你最近一 ...

  6. 转:Git: git stash 用法小结

    一.应用场景 综合下网上的介绍和资料, git stash (git储藏)可用于以下情形: 发现有一个类是多余的,想删掉它又担心以后需要查看它的代码,想保存它但又不想增加一个脏的提交.这时就可以考虑  ...

  7. git cherry-pick用法

    场景: 如果你的应用已经发布了一个版本2.0, 代码分支叫release-2.0, 现在正在开发3.0, 代码的分支叫dev-3.0. 那么有一天产品说, 要把正在开发的某个特性提前上线, 也就是说要 ...

  8. git clean用法

    git clean用法   想批量删除branch中新加的文件(untracked files),,git reset --hard不行-   首先确认要删除的文件 git clean -fd -n ...

  9. Git 的用法

    对于GIT  的用法,最近一直在寻找方法.网上也能找到一些方法.但是感觉说的不是很清楚,在这里我基于自己经验写一些. 对于任何一种方法都要安装GIT. 我是基于VS Code 2015 来做的. 在安 ...

随机推荐

  1. SQL*Plus快速入门

    连接数据库sqlplus hr@\"//mymachine.mydomain:port/MYDB\" --连接到MYDB数据库的一个HR数据集里sqlplus hr@MYDB -- ...

  2. python自动化开发-[第一天]-基础数据类型与编码

    1.Python与其他语言对比 - C语言的解释方式  代码-->机器码-->计算机 - python,java,php等高级语言的解释方式  代码-->字节码-->机器码-- ...

  3. 开始使用gentoo linux——gentoo安装笔记(上)

    gentoo linux安装笔记(上) 家里有一台破旧的富士通笔记本,08年至今质量依然杠杠的,但是性能已经不能和现代超极本同日而语,装上了ubuntu更是不敢恭维,别提gnome和kde的linux ...

  4. 蓝桥杯-买不到的数目-java

    /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...

  5. css浮动布局,浮动原理,清除(闭合)浮动方法

    css浮动 1.什么是浮动:在我们布局的时用到的一种技术,能够方便我们进行布局,通过让元素浮动,我们可以使元素在水平上左右移动,再通过margin属性调整位置 2.浮动的原理:使当前元素脱离普通流,相 ...

  6. hdu3652 B-number 数位DP

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3652 题意就是求区间内能被13整除并且包含”13“的数字的个数 感觉是比较中等的数位DP题目 我用的记 ...

  7. JavaScript、Python、java、Go算法系列之【快速排序】篇

    常见的内部排序算法有:插入排序.希尔排序.选择排序.冒泡排序.归并排序.快速排序.堆排序.基数排序等. 用一张图概括: 选择排序 选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的 ...

  8. .Net程序员学用Oracle系列(26):PLSQL 之类型、变量和结构

    1.类型 1.1.属性类型 1.2.记录类型 2.变量 2.1.变量类型 2.2.变量定义 2.3.变量赋值 3.结构 3.1.顺序结构 3.2.选择结构 3.3.循环结构 4.总结 1.类型 在&l ...

  9. List的多维度排序案例演示~

    文章也已同步到我的csdn:http://blog.csdn.net/u012881584/article/details/72377510 关于List的多维度排序. 日常工作中有很多关于list的 ...

  10. 我总结的常用sql语句

    建表: Set sql_mode='strict_trans_tables':  存储引擎启用严格模式,非法数据值被拒绝 Create table t3(id int(4) primary key a ...