三、       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. 商城项目实战 | 2.1 Android 仿京东商城——自定义 Toolbar (一)

    前言 本文为菜鸟窝作者刘婷的连载."商城项目实战"系列来聊聊仿"京东淘宝的购物商城"如何实现. 现在很多的 APP 里面都有自己的自定义风格,特别是京东商城中自 ...

  2. Asp.NET MVC 之心跳/长连接

    0x01 在线用户类,我的用户唯一性由ID和类型识别(因为在不同的表里) public class UserIdentity : IEqualityComparer<UserIdentity&g ...

  3. FancyBox – 经典 Lightbox 效果插件

    效果演示    插件下载

  4. bzoj3112 [Zjoi2013]防守战线

    正解:线性规划. 直接套单纯形的板子,因为所约束条件都是>=号,且目标函数为最小值,所以考虑对偶转换,转置一下原矩阵就好了. //It is made by wfj_2048~ #include ...

  5. JSP动态员工登陆案例

    package web; import java.io.IOException; import java.io.PrintWriter; import java.util.List; import j ...

  6. poj2774 Long Long Message 后缀数组求最长公共子串

    题目链接:http://poj.org/problem?id=2774 这是一道很好的后缀数组的入门题目 题意:给你两个字符串,然后求这两个的字符串的最长连续的公共子串 一般用后缀数组解决的两个字符串 ...

  7. git学习笔记之一

    Git是比较优秀的分布式版本管理工具,这次学习了git的基本命令,现在作一些归纳总结,已备复习之用. Git 认识 Git 直接用hash值记录提交的修改文件的快照,本地操作无需联网 Git 有三种状 ...

  8. RabbitMQ学习3----运行和管理RabbitMQ

    1.服务为管理 Erlang天生就是为了让应用程序无需知道对方是否存在同一台机器上即可互相通信. Erlang节点:Erlang虚拟机的每个实例.多个Erlang应用程序可以运行在同一个节点之上.节点 ...

  9. MyBatis源码解读(3)——MapperMethod

    在前面两篇的MyBatis源码解读中,我们一路跟踪到了MapperProxy,知道了尽管是使用了动态代理技术使得我们能直接使用接口方法.为巩固加深动态代理,我们不妨再来回忆一遍何为动态代理. 我相信在 ...

  10. RegExp(正则表达式)常用知识点小结

    原文地址:→看过来 正则表达式用到的地方很多,但是每次很久不用就全忘光了,每次都要重新看一遍文档,为了节省时间,把它的一些基本要点画总结在一张图片中,这样方便以后查看. PS:细节的东西还是需要看详细 ...