生活随笔
收集整理的這篇文章主要介紹了
gerrit的git配置流程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、配置環境變量
git?config?--global?user.name?"qujunorz"
git?config?--global?user.email?"qujunorz@gmail.com"#gerrit中注冊的用戶名與郵箱
[remote?"gerrit"]url?=?ssh://qujunorz@$代碼url地址fetch?=?+refs/heads/*:refs/remotes/gerrit/*
#!/bin/sh
#?From?Gerrit?Code?Review?2.7
#
#?Part?of?Gerrit?Code?Review?(
#
#?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
#
#?##?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_OPTIONSCHANGE_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"thenreturnfi#?Does?Change-Id:?already?exist??if?so,?exit?(no?change).if?grep?-i?'^Change-Id:'?"$MSG"?>/dev/null????thenreturnfiid=`_gen_ChangeId`T="$MSG.tmp.$$"AWK=awk????if?[?-x?/usr/xpg4/bin/awk?];?then#?Solaris?AWK?is?just?too?brokenAWK=/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?=?0footerComment?=?0blankLines?=?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?=?0while?(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?linesfor?(i?=?0;?i?<?blankLines;?i++)?{print?""}lines?=?""blankLines?=?0isFooter?=?1footerComment?=?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?lineif?(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?=?1if?(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?=?0print?"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`????thenecho?"parent?$parent"fiecho?"author?`git?var?GIT_AUTHOR_IDENT`"echo?"committer?`git?var?GIT_COMMITTER_IDENT`"echoprintf?'%s'?"$clean_message"}_gen_ChangeId()?{_gen_ChangeIdInput?|git?hash-object?-t?commit?--stdin
}add_ChangeId
KexAlgorithms?+diffie-hellman-group1-sha1
2、代碼上傳操作
git?clone?$代碼在gerrit中地址
git?branch?-a
#列出本地或遠程的所有分支
git?branch?-r?
#列出遠程分支
git?branch?[branch_name]
##?新建分支
git?checkout??[branch_name]
或者不使用git?branch新建,直接git?checkout?-b實現新建與切換
git?checkout?-b?[branch_name]
touch?aecho?“revise”?>a
git?add?a
#添加新文件,如果只是修改或者刪除則不需要
git?addgit?commit?-a
#將修改內容提交到倉庫中
git?commit?--amend?
#對于已經提交過的代碼,如果需要修改,可以借助?git?commit?--amend?來進行。
git?status
#查看是否已經
commitgit??log
#查看提交日志
git-review?master
3、報錯
sign_and_send_pubkey:?signing?failed:?agent?refused?operation
Permission?denied?(publickey).
fatal:?Could?not?read?from?remote?repository.Please?make?sure?you?have?the?correct?access?rightsand?the?repository?exists.
轉載于:https://blog.51cto.com/qujunorz/1901538
總結
以上是生活随笔為你收集整理的gerrit的git配置流程的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。