sourceTree+gerrit管理代码
第一次接触gerrit,会对这种代码管理方式非常排斥,尤其是习惯了用sourceTree配合git进行代码管理的同学。不爽归不爽,代码还得写,我们的目标是让开发过程爽起来。
关于gerrit的知识,移步这里学习:【Gerrit】Gerrit工作流程及使用手册
不熟悉的同学看完上面文章再继续学习。
我们遇到的问题主要有以下几个:
1 第一次拉取代码之前,需要配置本地git环境
1 sourceTree的某些功能不能使用了,让人不爽。比如无法直接push
2 提交代码过程中,如果冲突,gerrit默认不给merger权限。怎么处理?
一、 首次git配置
1 设置Git的用户名和邮箱
$git config --global user.name tao.wang $git config --global user.email tao.wang@xxxxx.com
2 验证
$git config --global user.name
// tao.wang $git config --global user.email tao.wang@xxxxx.com
// tao.wang@xxxxx.com
3 创建SSH Key公私钥,并上传gerrit。这个步骤大家很熟悉了。不知道的google。
4 配置本地gerrit
在之前创建的 .ssh文件夹中创建config文件(或直接拷贝配置好的config文件), config文件内容(注意user名称换成自己的的账户名,port端口默认29418,有些公司会改,注意替换可用端口):
host gitserver hostname 172.16..xx
user tao.wang
port host gerrit
hostname 172.16..xx
user tao.wang
port
KexAlgorithms +diffie-hellman-group1-sha1
git push origin master
这是为什么呢?看过【Gerrit】Gerrit工作流程及使用手册这篇文章的就会知道,gerrit增加了codereview的流程。所以会依赖一个临时分支,我们提交代码需要提交到该临时分支。
所以,使用以下命令拉取代码:
git push origin HEAD:refs/for/master
git config remote.origin.push refs/heads/*:refs/for/*
修改config文件,无效!
第二种是创建一个自定义操作,执行脚本,脚本去正确push。事实证明好用!
1 使用xcode创建一个shell脚本,内容如下
#!/bin/sh # push.sh
# KeepRunning
#
# Created by 王涛 on //.
# Copyright © 2018年 niujinfeng. All rights reserved. # 获取当前分支名
branch=`git symbolic-ref --short -q HEAD`
# push review
git push origin HEAD:refs/for/${branch}
2 在sourceTree创建一个自定义操作,配置如下,参数一栏是脚本所在路径,请替换正确路径


sourceTree+gerrit管理代码的更多相关文章
- 如何在sourcetree 下提交代码到gerrit上
gerrit的审核机制决定了提交到远程到代码并非远程master分支,而是/refs/for/master 分支,所以需要解决怎么在sourcetree下提交代码到/refs/for/master分支 ...
- [iOS]SourceTree+oschina实现代码远程托管
在iOS开发, 涉及到多人协同开发的时候, 这个时候, 我们就得利用版本控制系统(例如GIT), 来合并和管理代码了, 今天我们来讲一下, 利用 SourceTree+oschina进行版本控制 先来 ...
- GitLal+sourceTree版本号管理
GitLab+sourceTree版本号管理 假设把代码提交到github上,仅仅能是公开的,除非你花钱了,可是我不想花钱,所以我选择了gitLab作为gitserver,使用gitLab的详细过程例 ...
- ubuntu搭建gerrit+gitweb代码审核系统
一.Gerrit的简介 Gerrit是Google开源的一套基于web的代码review工具,它是基于git的版本管理系统.Google开源Gerrit旨在提供一个轻量级框架,用于在代码入库之前对每个 ...
- Gerrit评审代码流程注意事项
Gerrit管理CR流程时要注意下面两大事项: (一)格式规范 这部分主要是根据公司或者团队的要求规范来撰写格式,这里不做统一介绍了:格式规范的宗旨是让修改的代码和业务需求能够匹配.可追溯. (二)评 ...
- ios 开发中使用SVN管理代码
今天新公司需要使用SVN管理代码,就在网上查看相关的资料,现在把相关用法记录下来: 1.使用的是这个软件Cornerston 网上有很多相应的下载链接,可以去查看 2.下载安装之后,首先需要添加仓库r ...
- 使用GIT来管理代码的心得
使用GIT来管理代码,第一步当然就是下载一个GIT客户端(不知道是不是这么叫,但是觉得和客户端的功能差不多).电脑的操作系统是windows7的,所以下的是对应的GIT. 就是这玩意,安装的时候不停的 ...
- github的初次体验及管理代码的心得
周六早上的课上,助教给我们演示了一遍如何上传和下载代码库,新建代码库等等,但是是在linux上的,而我的笔记本的操作系统是win7的.而在教室中的尝试因为网络原因,虽然可以上github的网站,但是下 ...
- 用开源中国(oschina)Git管理代码(整合IntelliJ 13.1.5)
简介 开源中国提供了Git服务(地址:http://git.oschina.net/),在速度上比国外的github要快很多.使用了一段时间,感觉很不错.oschina git提供了演示平台,可以运行 ...
随机推荐
- 访问器属性:setter()函数和getter()函数
1.干嘛用的? getter()函数:返回有效的值 setter()函数:调用它并传入数据,这个函数决定如何处理数据 2.具备哪些属性?如何定义? configurable(默认为true),enum ...
- django的models模块查询方法
假定models中有一个类BookInfo 模块查询不同于sql语句,模块查询的结果会返回符合条件的整个一行的对象,或者多个对象组成的查询集. 查询集类似列表,有相似的方法. 1 model查询语句: ...
- 翻译:JVM虚拟机规范1.7中的运行时常量池部分(一)
原文链接: https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.4 Java Virtual Machine i ...
- Hive函数:GROUPING SETS,GROUPING__ID,CUBE,ROLLUP
参考:lxw大数据田地:http://lxw1234.com/archives/2015/04/193.htm 数据准备: CREATE EXTERNAL TABLE test_data ( mont ...
- Havel-Hakimi定理---通过度数列判断是否可图化
0.可图:一个非负整数组成的序列如果是某个无向图的度序列,则该序列是可图的. 1.度序列:Sequence Degree,若把图G所有顶点的度数排成一个序列,责成该序列为图G的一个序列.该序列可以是非 ...
- 使用Vertx构建微服务
Vertx Vert.x is a tool-kit for building reactive applications on the JVM.(Vertx是运行在JVM上用来构建reactive ...
- eclipse下maven插件搭建springmvc之helloworld
这几天学习了怎样使用maven,最终还是要回归web项目嘛,所以主要还是使用eclipse插件. 1 下载eclipse maven插件. 其实新版的eclipse已经集成了maven:lunar.m ...
- 浅析java的深拷贝与浅拷贝
(转自:http://www.cnblogs.com/chenssy/p/3308489.html) 首先来看看浅拷贝和深拷贝的定义: 浅拷贝:使用一个已知实例对新创建实例的成员变量逐个赋值,这个方式 ...
- APP的宣传方式有哪些
APP应用已经成为了互联网不可缺少的话题,事实上,开发一款移动APP的成本不是很高,但是怎样以最低的成本得到最大的推广效果,这是企业和开发者都很关心的一个问题.下面,我们来探讨一下这个问题. 1.一款 ...
- js高阶函数应用—函数防抖和节流
高阶函数指的是至少满足下列两个条件之一的函数: 1. 函数可以作为参数被传递:2.函数可以作为返回值输出: javaScript中的函数显然具备高级函数的特征,这使得函数运用更灵活,作为学习js必定会 ...