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 来做的. 在安 ...
随机推荐
- [编织消息框架][传输协议]stcp简单开发
测试代码 public class ServerSTCP { static int SERVER_PORT = 3456; static int US_STREAM = 0; static int F ...
- 关于Integer与int
integer a=new integer(1); integer b=new integer(1); int c=1; integer d=1; a==b false因为地址不同: a==c t ...
- PHP获取Post的原始数据方法小结(POST无变量名)
From : http://blog.csdn.net/hotdigger/article/details/6456240 一般我们都用$_POST或$_REQUEST两个预定义变量来接收POST ...
- file_get_contents url
file_get_contents (PHP 4 >= 4.3.0, PHP 5) file_get_contents — 将整个文件读入一个字符串 说明¶ string file_get_co ...
- Spring框架 jar包下载
Spring框架下载 打开网址https://repo.spring.io 点击左侧边栏第二个按钮 点击 在输入框输入spring-framework点击Search 找到你需要的版本下载就好 教程到 ...
- 九思,OA协同九大设计要点
伴随着产品线的丰富和客户数量的增加,我们发现烂尾项目也与日俱增,客户和OA公司之间的矛盾日益尖锐,一套好OA系统远非增加几个特色功能这么简单,套用孔子"君子有九思"的话,好的OA系 ...
- Volley使用指南
1.什么是Volley 在这之前,我们在程序中需要和网络通信的时候,大体使用的东西莫过于AsyncTaskLoader,HttpURLConnection,AsyncTask,HTTPClient(A ...
- 创建并发布npm包
1.npm官网创建npm账户 npm网站地址:https://www.npmjs.com/ npm网站注册地址:https://www.npmjs.com/signup 2.命令行工具登录npm np ...
- 小谈-—ServletConfig对象和servletContext对象
一.servletContext概述 servletContext对象是Servlet三大域对象之一,每个Web应用程序都拥有一个ServletContext对象,该对象是Web应用程序的全局对象或者 ...
- Jenkins获取git tags代码
配置Jenkins获取git tag代码的方式其实方法很多,目前我使用比较多的主要是通过Git Parameter 来配置动态的获取最新tags代码,主要我们首先需要安装一下Git Parameter ...