gerrit添加appkey以及简单添加分支

最近团队开放用上gerrit版本项目管理工具,简单说一下appkey配置过程

首先是拿到gerrit分配的账户密码。然后进入到首页,假如是新搭建的应该是没有信息,我这里有一些提交的信息,然后找到右上角你的账户,点开,上面有一个设置按钮,点击进去。如图

进去之后右边有一排菜单,点击SSH Public Keys,会出现key信息,添加你当前使用设备的key,点击Add Key,上面的key是我当前使用设备已绑定的

此时会要求你填入对应key,key的位置一般在C:\Users\Administrator\.ssh目录下,此时有2个文件id_rsa,id_rsa,使用编辑器打开id_rsa文件,复制key,然后粘贴过去,同时创建known_hosts文件

然后点击Add,会出现你绑定的Server Host Key,点击下面的复制按钮,复制key,然后粘贴到你刚才创建的known_hosts文件,至此以及配置完成,现在可以正常拉取你的git文件了

进入对应目录下,使用git clone命令拉取相对应的文件

测试提交一个文件,先用git add test.txt命令上传一个文件,然后用git commit -m ‘注释‘给此次上传写一个注释,然后使用git status查看此次上传的一些状态,文件是修改,删除,还是新增等等,此时系统会提示你输入你的名次与邮件名,安装系统提示的格式填写你自己的账户名称与你对应的邮件就ok

然后就是提交了,git push origin HEAD:refs/for/master.提交到对应的分支,注意,此时还是一个重要点,有一个提交id的配对问题,首先打开你刚才拉取项目的目录,在系统种打开隐藏文件(已打开可忽略),进入.git/hooks目录,创建commit-msg文件,写入下面代码,保存,此时就可以正常上传代码至gerrit了。


#!/bin/sh
# From Gerrit Code Review 2.6
#
# Part of Gerrit Code Review (http://code.google.com/p/gerrit/)
#
# Copyright (C) 2009 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

unset GREP_OPTIONS

CHANGE_ID_AFTER="Bug|Issue"
MSG="$1"

# Check for, and add if missing, a unique Change-Id
#
add_ChangeId() {
clean_message=`sed -e ‘
/^diff --git a\/.*/{
s///
q
}
/^Signed-off-by:/d
/^#/d
‘ "$MSG" | git stripspace`
if test -z "$clean_message"
then
return
fi

# Does Change-Id: already exist? if so, exit (no change).
if grep -i ‘^Change-Id:‘ "$MSG" >/dev/null
then
return
fi

id=`_gen_ChangeId`
T="$MSG.tmp.$$"
AWK=awk
if [ -x /usr/xpg4/bin/awk ]; then
# Solaris AWK is just too broken
AWK=/usr/xpg4/bin/awk
fi

# How this works:
# - parse the commit message as (textLine+ blankLine*)*
# - assume textLine+ to be a footer until proven otherwise
# - exception: the first block is not footer (as it is the title)
# - read textLine+ into a variable
# - then count blankLines
# - once the next textLine appears, print textLine+ blankLine* as these
# aren‘t footer
# - in END, the last textLine+ block is available for footer parsing
$AWK ‘
BEGIN {
# while we start with the assumption that textLine+
# is a footer, the first block is not.
isFooter = 0
footerComment = 0
blankLines = 0
}

# Skip lines starting with "#" without any spaces before it.
/^#/ { next }

# Skip the line starting with the diff command and everything after it,
# up to the end of the file, assuming it is only patch data.
# If more than one line before the diff was empty, strip all but one.
/^diff --git a/ {
blankLines = 0
while (getline) { }
next
}

# Count blank lines outside footer comments
/^$/ && (footerComment == 0) {
blankLines++
next
}

# Catch footer comment
/^\[[a-zA-Z0-9-]+:/ && (isFooter == 1) {
footerComment = 1
}

/]$/ && (footerComment == 1) {
footerComment = 2
}

# We have a non-blank line after blank lines. Handle this.
(blankLines > 0) {
print lines
for (i = 0; i < blankLines; i++) {
print ""
}

lines = ""
blankLines = 0
isFooter = 1
footerComment = 0
}

# Detect that the current block is not the footer
(footerComment == 0) && (!/^\[?[a-zA-Z0-9-]+:/ || /^[a-zA-Z0-9-]+:\/\//) {
isFooter = 0
}

{
# We need this information about the current last comment line
if (footerComment == 2) {
footerComment = 0
}
if (lines != "") {
lines = lines "\n";
}
lines = lines $0
}

# Footer handling:
# If the last block is considered a footer, splice in the Change-Id at the
# right place.
# Look for the right place to inject Change-Id by considering
# CHANGE_ID_AFTER. Keys listed in it (case insensitive) come first,
# then Change-Id, then everything else (eg. Signed-off-by:).
#
# Otherwise just print the last block, a new line and the Change-Id as a
# block of its own.
END {
unprinted = 1
if (isFooter == 0) {
print lines "\n"
lines = ""
}
changeIdAfter = "^(" tolower("‘"$CHANGE_ID_AFTER"‘") "):"
numlines = split(lines, footer, "\n")
for (line = 1; line <= numlines; line++) {
if (unprinted && match(tolower(footer[line]), changeIdAfter) != 1) {
unprinted = 0
print "Change-Id: I‘"$id"‘"
}
print footer[line]
}
if (unprinted) {
print "Change-Id: I‘"$id"‘"
}
}‘ "$MSG" > "$T" && mv "$T" "$MSG" || rm -f "$T"
}
_gen_ChangeIdInput() {
echo "tree `git write-tree`"
if parent=`git rev-parse "HEAD^0" 2>/dev/null`
then
echo "parent $parent"
fi
echo "author `git var GIT_AUTHOR_IDENT`"
echo "committer `git var GIT_COMMITTER_IDENT`"
echo
printf ‘%s‘ "$clean_message"
}
_gen_ChangeId() {
_gen_ChangeIdInput |
git hash-object -t commit --stdin
}

add_ChangeId

时间: 2024-08-26 03:24:15

gerrit添加appkey以及简单添加分支的相关文章

PostgreSQL简单添加只读用户的方法

1. 添加了白名单只读来避免开发同事错误的修改数据库内的数据, 但是他们总想去查询数据库的内容. 最简单的办法是修改pg_hba.conf添加只读用户. 2. 添加只读用户. 使用psql登录pg数据库 psql -U gscloud -d gscloud 效果为: [[email protected] zhaobsh]# psql -U gscloud -d gscloud Password for user gscloud: psql (10.7) Type "help" for

ubuntu添加新用户并添加管理员权限

Ubuntu创建新用户并增加管理员权限  Family 2014-06-24 22:21:22 $是普通管员,#是系统管理员,在Ubuntu下,root用户默认是没有密码的,因此也就无法使用(据说是为了安全).想用root的话,得给root用户设置一个密码: $ sudo passwd root然后登录时用户名输入root,再输入密码就行了.ubuntu建用户最好用adduser,虽然adduser和useradd是一样的在别的linux糸统下,但是我在ubuntu下用useradd时,并没有创

怎么给PDF添加书签,PDF添加书签的方法

怎么给PDF添加书签?PDF添加书签的方法你知道吗?现在我们在阅读PDF文件的时候,阅读到某个位置的时候就想要给PDF文件添加个书签,想要给PDF添加书签还是比较简单的,推荐大家使用迅捷PDF编辑器来进行操作,下面小编就为大家分享一下迅捷PDF编辑器给PDF添加书签的操作方法.操作方法如下: 1.首先我们用pdf编辑器将pdf文件给打开,然后点击界面上方的视图按钮,找到其中的书签选项,点击书签按钮打开书签框. 2.在界面左侧此时会弹出书签框,我们可以在书签框中看到所有的pdf书签,点击这些书签,

Dynamics CRM2013 1:N关系 sub-grid中的“添加现有项”和“添加新建项”功能详解

CRM2013中sub-grid的样式和2011中有了较大的变化,2013和2011界面对比如下 在2011的时候按钮是在ribbon区,1:N的父子关系实体直接点击添加新纪录就可以,但2013就不行了点加号首先会有个下拉框把现有的子实体数据列出来,你可以选择现有的也可以新建 既然你的关系实体是1:N的父子实体,那子的存在肯定是依赖于与父实体的,所以这个地方就压根不存在关联现有实体一旦关联就会报错,所以纯碎新建的话这边的步骤就繁琐了,同时也会给用户带来迷惑 所以这个地方这种情况下完全没必要添加现

向SQL Server 现有表中添加新列并添加描述.

注: sql server 2005 及以上支持. 版本估计是不支持(工作环境2005,2008). 工作需要, 需要向SQL Server 现有表中添加新列并添加描述. 从而有个如下存储过程. (先附上存储过程然后解释) 代码 /********调用方法********** 作用: 添加列并添加列描述信息 调用: exec [SetColumnInfo] '表名', '列名', N'列说明,描述','列类型{默认:NVARCHAR(50)}','列默认值{默认:NULL}' *********

zabbix专题:第七章 添加图像Graphs,添加聚合图形Screens

zabbix专题:第七章 添加图像Graphs,添加展示屏Screens 对Linux有兴趣的朋友加入QQ群:476794643 在线交流 本文防盗链:http://zhang789.blog.51cto.com 本节目录大纲 添加图像Graphs 添加聚合图形Screens 添加图像Graphs 如果我们想显示多个信息到一个图表上,那必须使用zabbix自定义图表功能,比如,我 们最常用的网卡流量监控,一张流量图上会包含进/出的流量信息.一个图表的数据可以来源一台主机,也可以来源于多台主机 创

添加web引用和添加服务引用有什么区别?

添加web引用和添加服务引用有什么区别,Add Service References 和 Add Web References 有啥区别?参考 http://social.microsoft.com/Forums/zh-CN/xmlwebserviceszhchs/thread/808d870b-49f1-47ac-b105-4beb580bcec6 (1)VS2005里提供的Add Web Reference(添加Web服务引用)的功能主要是添加Web Service引用.(2)VS2008保

(转)添加服务引用和添加Web引用对比

在WindowsForm程序中添加服务引用和Web引用对比 为了验证书上有关Visual Studio 2010添加服务引用和Web引用的区别,进行实验. 一.建立一个Web服务程序项目新建项目,选择ASP.NET空Web应用程序,在其中添加Web服务,然后发布到IIS,路径为http://localhost/hello/hello.asmx,服务主要通过HelloWorld()方法输出字符串“Hello World”,内容如下: using System;using System.Collec

jQuery对象合并、jQuery添加静态方法、jQuery添加DOM实例方法

实例效果: 代码演示: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=&q