Git Gerrit Repo User Manual
Git Repo Gerrit User Manual
Revision History
Revision # |
Description |
Date |
Author |
0.1 |
Initial this document |
2014/09/05 |
Deman Lu |
0.2 |
Add First time push Code to Gerrit |
2014/09/09 |
Deman Lu |
0.21 |
Add FAQ |
2014/09/09 |
Deman Lu |
Contents
Preparation....................................................................................................................... 4
Install............................................................................................................................... 4
Git Setup:.................................................................................................................. 4
Git Config:................................................................................................................ 4
Set Commit Template:................................................................................................. 4
Set git ignore............................................................................................................. 4
Install Repo................................................................................................................ 5
Gerrit Config:............................................................................................................ 5
Get First Project................................................................................................................ 7
FAQ................................................................................................................................. 8
No Branch Ready For Upload Error.......................................................................... 8
CONFLICT Error..................................................................................................... 8
Upload Merges
Error................................................................................................ 9
Repo init Error......................................................................................................... 9
Repo syntax error near unexpected token `newline'................................................... 9
Repo init Connect Error:.......................................................................................... 9
Everything up-to-date:........................................................................................... 9
Preparation
OS: Linux or Ubuntu
Software: Git, SSH, Repo
Install
Git Setup:
$ sudo apt-get install git
$ sudo apt-get install git-core
$ git version // version >= 1.6
Git Config:
$ git config --global user.name "deman_lu"
将user name为你gerrit系统的账号(邮箱地址(全小写的前缀))
$ git config --global user.email "deman_lu@htc.com"
将user email设置成你htc的邮箱(邮箱地址全小写)
$ git config --global core.editor vim
$ git config --global merge.tool vimdiff
$ git config --global color.ui
"auto"
Set Commit Template:
$ vim ~/.git-template
Symptom:
Bug ID:
Root Cause:
Solution:
Note:
$ git config --global commit.template
~/.git-template
Set git ignore
$ vim ~/.gitignore
$ git config --global core.excludesfile
~/.gitignore
Install Repo
$ cd
$ mkdir bin
$ cd bin
$ PATH=~/bin:$PATH
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo
> ~/bin/repo
If you can’t connect google, you can copy
repo from:
\\10.33.8.3\cht000\CHT200\CHT210\CHT211\Trainning\
COS_Android\Git&Repo\bin
$ chmod a+x ~/bin/repo
Gerrit Config:
Gerrit Web: http://10.33.137.230/project/
Add public Key:
$ ssh-keygen -t rsa
If you have
ssh key, you can use
it directly。
$ cat ~/.ssh/id_ras.pub
Select [Setting] ==> [SSH Public Key]
Press Add key, and paste your id_rsa.pub content into edit text then added.
Add Server host key to known_hosts:
$ vim ~/.ssh/known_hosts
Paste the host key from below image showing
to known_hosts.
$ vim ~/.ssh/config
host gerrit
user deman_lu
hostname 10.33.137.230
port 29418
identityfile ~/.ssh/id_rsa
$ ssh gerrit
**** Welcome to Gerrit Code
Review ****
Hi
Deman_Lu, you have successfully connected over SSH.
Unfortunately, interactive shells are disabled.
To
clone a hosted Git repository, use:
git
clone ssh://deman_lu@10.33.137.230:29418/REPOSITORY_NAME.git
Connection to 10.33.137.230 closed.
If you want to see more detail:
http://10.116.121.47/mediawiki/index.php/Git_Repo_Gerrit_User_Manual
Get First Project
Using following command to get repository.
$ repo init -u
ssh://deman_lu@10.33.137.230:29418/manifest.git -m
team1.xml
The highlight is the manifest.xml,please connect Administrator to get
your manifest.xml
If you just want to do some practices, you
can ignore it and it will download default project.
$ repo sync
$repo forall -c "git checkout -b
master origin/master"
This will create branch master and connect
origin branch origin/master.
Thus, you can push your code to
origin/master
$ repo upload
--re=bill_tan,deman_lu
FAQ
No Branch Ready For Upload Error
Check if it is in some branch
$ git branch
If no branch, change to master branch.
$ git checkout master
Modify some files and commit
$ repo upload --re=<User Name>
After doing below thing, you also meet
these error:
Clean the repo and delete ~/.repoconfig
Please according to “Git First Project” step
by step.
CONFLICT Error
hailong@hailong-Lenovo:~/test/localhost/gerrit/repo/test$
repo sync
remote: Counting objects: 5, done
remote: Finding sources: 100% (3/3)
remote: Total 3 (delta 2), reused 3 (delta
2)
Unpacking objects: 100% (3/3), done.
From ssh://localgerrit:29418/new/test
fdcfcac..5f7a5f9 master -> origin/master
project test/
First, rewinding head to replay your work
on top of it...
Applying: m_cm_6.2
Using index info to reconstruct a base
tree...
Falling back to patching base and 3-way
merge...
Auto-merging readme.txt
CONFLICT (content): Merge
conflict in readme.txt
Recorded preimage for 'readme.txt'
Failed to merge in the changes.
Patch failed at 0001 m_cm_6.2
You should manual merge file when repo
sync.
$ git add readme.txt
$ git rebase --continue
Upload
Merges Error
When repo upload: ![remote rejected] master ->
refs/for/master (you are not allowed to upload merges)
Reason: you have doing some merge but
gerrit not allow.
Solution: reset your merge and using git
rebase to commit.
$ git reset --hard <commit id>
$ git fetch
$ git rebase origin/master
$ repo upload --re=<User Name>
Repo init
Error
Repo int: fatal: Cannot get https://code.google.com/p/git-repo/clone.bundle
fatal: error [Errno 104] Connection reset
by peer
Solution: $ vim ~/bin/repo modify
REPO_URL='http://android.googlesource.com/tools/repo'
Repo syntax error near unexpected token `newline'
/root/bin/repo: line 1: syntax error near
unexpected token `newline'
/root/bin/repo: line 1: `<!DOCTYPE html>'This problem is that repo’s
version is too old, using a new one.
$ curl
http://git-repo.googlecode.com/files/repo-1.12> ~/bin/repo
Or copy repo file form other members.
Repo init Connect Error:
fatal: Cannot get
https://gerrit.googlesource.com/git-repo/clone.bundle
fatal: HTTP error 403
When repo init, repo will download code
from google, so, the reason is you known.
Please try more times or do it later.
Everything up-to-date:
$ git push showing :every thing up to date,
but you also have not push anthing!
$ git push origin master : this will be
denied by gerrit, you can’t push code to git repository directly.
We must push to review repository:
$git push origin HEAD:refs/for/master
Git Gerrit Repo User Manual的更多相关文章
- How to get started with GIT and work with GIT Remote Repo
https://www.ntu.edu.sg/home/ehchua/programming/howto/Git_HowTo.html#zz-7. 1. Introduction GIT is a ...
- Git和Repo管理使用简要介绍
在Linux平台下进行Android系统项目开发时,需要Git或repo管理. 一. Git和Repo的区别: 1. Git:Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的 ...
- Git和Repo管理使用
Git和Repo管理使用简要介绍 http://blog.csdn.net/stevenhu_223/article/details/8828130 多仓库代码管理器Repo的安装,使用以及服务器搭建 ...
- 常用的git和repo命令
首先下图是git的流程图 相关概念 svn与git命令的对比 git常用命令 git log // 查看当前库的git log信息 git status ./ // 查看当前库的状态 git diff ...
- Git与Repo入门(转载)
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAykAAADuCAIAAACyDd+sAAAAA3NCSVQICAjb4U/gAAAgAElEQVR4Xu ...
- 【转】Android源码学习(2)使用Git和Repo进行版本管理
原文网址:http://blog.chinaunix.net/uid-26074270-id-2458828.html Android项目采用Git和Repo进行版本管理.在大多数情况下,Git都可以 ...
- 【转】Git与Repo入门----不错
原文网址:http://www.cnblogs.com/angeldevil/p/3238470.html Git与Repo入门 版本控制 版本控制是什么已不用在说了,就是记录我们对文件.目录或工 ...
- Git Gerrit使用
Git Gerrit 操作都用 git bash操作: 如果想用 cmd 或者 PowerShell,系统环境变量 Path 添加 Git 安装路径,如: C:\Program Files (x86) ...
- Git 和 Repo常用命令
这篇博客总结的也不错: git常用及进阶命令总结 Git与Repo入门 一.初始環境配置 git config --global user.name "John Doe"git c ...
随机推荐
- jQuery File Upload 文件上传插件使用二 (功能完善)
使用Bootstrap美化进度条 Bootstrap现在几乎是人尽皆知了,根据它提供的进度条组件, 让进度条显得高大尚点 正因为其功能强大,js模块文件之间牵连较深 不好的地方耦合度非常高 重要的参数 ...
- 在docker中执行linux shell命令
在docker中执行shell命令,需要在命令前增加sh -c,例如: docker run ubuntu sh -c 'cat /data/a.txt > b.txt' 否则,指令无法被正常解 ...
- EF6+MVC5之Oracleo数据库的CodeFirst方式实现
http://www.oracle.com/technetwork/topics/dotnet/whatsnew/index.htm http://www.knowsky.com/887470.htm ...
- 完美的【去重留一】SQL
DELETE consum_record FROM consum_record, ( SELECT min(id) id, user_id, monetary, consume_time FROM c ...
- docker应用容器化准则—12 factor
在云的时代,越来越多的传统应用需要迁移到云环境下,新应用也要求能适应云的架构设计和开发模式.而12-factor提供了一套标准的云原生应用开发的最佳原则. 在容器云项目中应用容器化主要参考12-Fac ...
- 搭建Git工作环境
为什么要做版本控制? 在平时的工作中,经常会遇到写文档的事情,而写文档基本都不会一蹴而就,总是会修修改改很多次,而版本控制能够记录每次修改的版本,能够进行回溯.有很多版本控制工具,但是作为一个程序员, ...
- scrapy-redis+selenium+webdriver解决动态代理ip和user-agent的问题(全网唯一完整代码解决方案)
问题描述:在爬取一些反爬机制做的比较好的网站时,经常会遇见一个问题就网站代码是通过js写的,这种就无法直接使用一般的爬虫工具爬取,这种情况一般有两种解决方案 第一种:把js代码转为html代码,然后再 ...
- 联邦快递 IE和IP的区别 Fedex IE VS Fedex IP
什么是FedEx IP? FedEx IP指的是联邦快递优先服务,时效比较快些,相对来说价格也比普通的高一些. 什么是FedEx IE? FedEx IE指的是联邦快递经济服务,时效与FedEx IP ...
- java 不同数据类型的相互转化
在工作中经常会遇到需要将数据类型转化的情况,今天抽出时间总结一下. date——string Date date = new Date(); DateFormat dateformat = new S ...
- 【每日scrum】NO.9
(1)这是我们冲刺的最后一天,晚上我们的团队进行了收尾工作:第一阶段的任务基本完成,软件主要实现了校园景点照片以及对应的介绍,查询最短路径,查询涉及相关景点的查询,查询全部路径,基本界面的设计,导航功 ...