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提供了演示平台,可以运行 ...
随机推荐
- bootstrap时间区间设置方法
我们在开发过程中经常有时间区间的要求,在多次"失败"及翻阅资料之后终于找到了适合我的方法,所以给大家分享出来. 基本需求为可以设置时间,设置时间区间,后一时间日期不可提前于前一时间 ...
- 判断一个字符串是不是一个合法的IP地址
最近在笔试的时候遇到碰一道算法题, 要求判断一个字符串是不是合法的ip地址. 将我的思路发出来分享一下,不一定正确,也不一定是最优的方法.希望能分享一些交流 要求用java或者c来实现,我的java代 ...
- React-Native(六):React Native完整的demo项目
该项目在http://www.lcode.org/study-react-native-opensource-two/上发现 更有意思的发现这个网站https://juejin.im/是采用vue.j ...
- Text-插入图片
#text插入图片 from tkinter import * master=Tk() text=Text(master,width=50,height=50) text.pack() photo=P ...
- python制作一个简单的中奖系统
注释: 展示图下的代码,我是用pycharm写的,是python解释器中的一种,本课没不同解释器的要求,可根据自己喜欢的解释器编写. 步骤: 本期给大家带来的是,一个简单的中奖系统,首先打开自己电脑上 ...
- win10安装Ubuntu14.04双系统
1 制作镜像 UltralISO刻录镜像到U盘,下载地址:http://pan.baidu.com/s/1o7JpthS 2压缩空间给Ubuntu安装 使用windows自带的压缩(磁盘管理) 3安装 ...
- ·c#之Thread实现暂停继续(转)
暂停与继续实现,可以使用Thread.Suspend和Thread.Resume而这两个方法,在VS2010里提示已经过时,不建议使用,在网上查阅了一些资料,发现有个事件通知的方法很好,事件通知的大致 ...
- Python系列之 - python循环语句
前两篇说的是数据类型和数据运算,本篇来讲讲条件语句和循环语句. 1. 条件语句 条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执 ...
- 爱奇艺2018春招Java工程师编程题题解
字典序最大子序列 题目描述 对于字符串a和b,如果移除字符串a中的一些字母(可以全部移除,也可以一个都不移除)就能够得到字符串b我们就称b是a的子序列. 例如."heo"是&quo ...
- Linux提示字符设置
当我们登陆linux后,显示的提示字符究竟是什么意思呢?又可不可以设置呢. 首先来看看默认的显示: 普通用户: [fuwh@localhost ~]$ root用户: [root@localhost ...