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提供了演示平台,可以运行 ...
随机推荐
- CentOS 6.5 Tomcat安装及配置
1.安装jdk,配置jdk环境(此步骤略过) 2.下载安装tomcat 百度网盘链接: https://pan.baidu.com/s/1Ieejo7TQyzRAVPhQft8Phw 密码: dg2v ...
- Eclipse中JavaSwing图形插件安装
1.在百度中搜索WindowBuilder,找到http://www.eclipse.org/windowbuilder/ 2.点击Download调转到页面: 因为我的eclipse版本是 3.点击 ...
- python模块之PIL模块
PIL简介 什么是PIL PIL:是Python Image Library的缩写,图像处理的模块.主要的类包括Image,ImageFont,ImageDraw,ImageFilter PIL的导入 ...
- jacascript DOM节点——节点获取与选择器API
前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! DOM 操作必须等待 HTML 加载完毕之后,才可以获取节点:有两种方法: 把 script 标签放到代码 ...
- 爆炸,解体,入侵,你想得到的你想不到的大BUG们
郑昀 创建于2017/9/29 最后更新于2017/10/6 提纲: 阿丽亚娜火箭的解体 阿波罗飞船的P01模式 德勤的Google+ 麻省理工的500英里邮件 又到了扶额兴叹的节气.(前文回顾:5年 ...
- C#之FTP上传下载(二)
这个类几乎包含了对FTP常用的方法,有不对的地方,欢迎批评指正 public class FtpClient { #region 构造函数 /// <summary> /// 创建FTP工 ...
- 简单的sql调优(批处理)
最近在写一个java的爬虫程序时,遇到了一个大量数据进行插入更新和大量数据循环查询的问题,所以查了一下一般的调优的方式,下面主要介绍我采取的调优措施. 一 .调优思路 先说说我采取方式的调优的思路,这 ...
- 从零开始搭建支持http2的web服务
前段时间开始,公司各项业务开始陆续接入http2,关于http2的优点与所适用的场景网上有很多的文档可以查阅,这里我主要是总结分享一下如何从0到1搭建http2服务. 这里先说明一下,要完成http2 ...
- python基础面试
1 请用自己的算法, 按升序合并如下两个list, 并去除重复的元素: list1 = [2, 3, 8, 4, 9, 5, 6]list2 = [5, 6, 10, 17, 11, 2] 答案: ...
- 【实验吧】CTF_Web_简单的SQL注入之1
题目链接:http://ctf5.shiyanbar.com/423/web/ 简单的SQL注入之1,比2,3都简单一些.利用2 的查询语句也可以实现:1'/**/union/**/select/** ...