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 来做的. 在安 ...
随机推荐
- SQL*Plus快速入门
连接数据库sqlplus hr@\"//mymachine.mydomain:port/MYDB\" --连接到MYDB数据库的一个HR数据集里sqlplus hr@MYDB -- ...
- python自动化开发-[第一天]-基础数据类型与编码
1.Python与其他语言对比 - C语言的解释方式 代码-->机器码-->计算机 - python,java,php等高级语言的解释方式 代码-->字节码-->机器码-- ...
- 开始使用gentoo linux——gentoo安装笔记(上)
gentoo linux安装笔记(上) 家里有一台破旧的富士通笔记本,08年至今质量依然杠杠的,但是性能已经不能和现代超极本同日而语,装上了ubuntu更是不敢恭维,别提gnome和kde的linux ...
- 蓝桥杯-买不到的数目-java
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...
- css浮动布局,浮动原理,清除(闭合)浮动方法
css浮动 1.什么是浮动:在我们布局的时用到的一种技术,能够方便我们进行布局,通过让元素浮动,我们可以使元素在水平上左右移动,再通过margin属性调整位置 2.浮动的原理:使当前元素脱离普通流,相 ...
- hdu3652 B-number 数位DP
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3652 题意就是求区间内能被13整除并且包含”13“的数字的个数 感觉是比较中等的数位DP题目 我用的记 ...
- JavaScript、Python、java、Go算法系列之【快速排序】篇
常见的内部排序算法有:插入排序.希尔排序.选择排序.冒泡排序.归并排序.快速排序.堆排序.基数排序等. 用一张图概括: 选择排序 选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的 ...
- .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 ...
- List的多维度排序案例演示~
文章也已同步到我的csdn:http://blog.csdn.net/u012881584/article/details/72377510 关于List的多维度排序. 日常工作中有很多关于list的 ...
- 我总结的常用sql语句
建表: Set sql_mode='strict_trans_tables': 存储引擎启用严格模式,非法数据值被拒绝 Create table t3(id int(4) primary key a ...