git初步用法
三、 Gerrit的注册及使用
- 1. 简介
Gerrit为代码审核工具,git提交的代码,必须经过审核才能合入到正式的版本库中。
- 2. 注册步骤
(1) 向部门配置管理员申请Gerrit账号。
(2) 登陆部门提供的服务器。使用个人github账户进行登陆。
(3) 首次登陆,需要填写一些基本信息
Username——注册账号的用户名
Fullnmame——gerrit中显示的用户名
Email——统一使用个人分配的公司邮箱,设置过程会接收到一份验证邮件
(4) 配置public key
点击网页右上角登陆用户名处,选择下拉菜单中settings
选择SSH Public Key一项
点击Add Key添加在本机生成的public key,生成方法可参照网页提示或在网上查找
(5) 通知配置管理员添加相关代码权限
- 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. git配置用户名及邮箱
git config --global user.email 邮箱名(必须和gerrit设置的一致)
git config --global user.name 用户名
- 2. git下载产生Change-ID的commit_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文件了
- 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初步用法的更多相关文章
- Git的用法
Git的用法 Git 的也可以理解为版本控制器.版本控制器(维基的解释):维护工程蓝图的标准作法,能追踪工程蓝图从诞生一直到定案的过程.此外,版本控制也是一种软件工程技巧,借此能在软件开发的过程中,确 ...
- git subtree用法(转)
git subtree用法 一.使用场景 例如,在项目Game中有一个子目录AI.Game和AI分别是一个独立的git项目,可以分开维护.为了避免直接复制粘贴代码,我们希望Game中的AI子目录与AI ...
- git初步使用
git初步使用 主要目的:使用代码控制工具,练习使用git 1.创建新项目 网址如下: https://github.com/kellyseeme?tab=repositories 注意每个人使用的名 ...
- git revert用法以及与git reset的区别
git revert用法 git revert 撤销 某次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销 作为一次最新的提交 * git revert HEAD ...
- Git进阶用法
Git高阶用法 1. 基本概念 你的本地仓库由Git维护的三棵树组成.第一个是你的工作目录,它持有实际文件:第二个是缓存区(Index),它像个缓存区域,临时保存您的改动:最后是HEAD,指向你最近一 ...
- 转:Git: git stash 用法小结
一.应用场景 综合下网上的介绍和资料, git stash (git储藏)可用于以下情形: 发现有一个类是多余的,想删掉它又担心以后需要查看它的代码,想保存它但又不想增加一个脏的提交.这时就可以考虑 ...
- git cherry-pick用法
场景: 如果你的应用已经发布了一个版本2.0, 代码分支叫release-2.0, 现在正在开发3.0, 代码的分支叫dev-3.0. 那么有一天产品说, 要把正在开发的某个特性提前上线, 也就是说要 ...
- git clean用法
git clean用法 想批量删除branch中新加的文件(untracked files),,git reset --hard不行- 首先确认要删除的文件 git clean -fd -n ...
- Git 的用法
对于GIT 的用法,最近一直在寻找方法.网上也能找到一些方法.但是感觉说的不是很清楚,在这里我基于自己经验写一些. 对于任何一种方法都要安装GIT. 我是基于VS Code 2015 来做的. 在安 ...
随机推荐
- edge animate从入门到放弃
一.什么是edge animate edge animate这是一款方便网页设计师和前端工程师实现动画交互的一款工具,虽然是adobe出品的,但是属于Flash和H5时代的过渡产物,这一款产品在201 ...
- 悬挂else引发的问题
这个问题虽然已经为人熟知,而且也并非C语言所独有,但即使是有多年经验的C程序员也常常在此失误过. 考虑下面的程序片段: if (x == 0) if (y == 0) error(); else{ z ...
- Maven的简单搭建
Maven这个个项目管理和构建自动化工具,越来越多的开发人员使用它来管理项目中的jar包.接下来将从下面几个方向介绍maven: (1)Maven简单介绍 (2)Maven安装与配置 (3)Maven ...
- 我是这样发现ISP劫持HTTP请求的
编者按:Fundebug的客户通过分析我们提供的报警信息,定位了一个非常棘手的问题—ISP劫持http请求.他的分析过程非常有意思,同时也提醒我们,应该及时支持HTTPS来保证站点安全. 原文: IS ...
- vue-router2.x
组件中的路由 <router-link to=""></router-link> 无参数 <router-link to="/ar/1&qu ...
- Node.js编写CLI的实践
导语:通常而言,Node.js的应用场景有前后端分离.海量web页面渲染服务.命令行工具和桌面端应用等等.本篇文章选取CLI(Command Line Tools)这子领域,来谈谈Node.js编写C ...
- 关于微信小程序的Request请求错误处理
在学微信小程序的request请求的时候,一开始报“不在以下合法域名列表中,请参考文”的错误,后来又莫名其妙的报“400 Bad Request”错误,经过半天的研究,终于搞定了,把遇到的错误给大家分 ...
- Java IO详解(六)------随机访问文件流
File 类的介绍:http://www.cnblogs.com/ysocean/p/6851878.html Java IO 流的分类介绍:http://www.cnblogs.com/ysocea ...
- Natas Wargame Level 9 Writeup(bash injection)
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAArAAAAClCAYAAACkwM63AAAABHNCSVQICAgIfAhkiAAAIABJREFUeF
- application 从web.xml中获取初始化参数
<span style="font-size:24px;"> </span> 1.web.xml中的配置部分 <context-param> ...