版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、git、gerrit的使用方法和规范1、新员工git安装环境准备首先从服务器端0/Software/Tool/Git/(用户名 /密码 paypalm/paypalms )获取软件 Git-1.9.4-preview201409291、默认安装Git-1.9.4-preview20140929勤Git令 Git Eash| 三孤 Git GUI安装完成后打开git bash编辑器,生成密钥对:ssh-keygen -t rsa 按三次回车键,默认生成路径如下图$ ssh-keygen -t rsaCenerati ng publi c/private rsa
2、key pai r.Enter file in Jricn to save the key (/c/lsers/Admiristrator.USER-20140616DC/.ssh /id_rsa):Created dirtrtory */c/Lscrs/Admmstrator t Ui;EF-2QH06L6DC/.53h.Enter passphrase (enoty for no passphrase):Enter same pgsphrge gain:li/i drsa,Your identi fication has beer saved n /c/Users/Adminn strat
3、or.USER-20140616DC/.ssYour pub He key has been saved in /c/Users/Adninistrator.USER-20140616DC/.ssh/id Lrsa.pub.The key finqerprint is:50:f(:2c:70:7f:ft:b0:f4:bf:44:62:f2:99:9d:dZ:fi) Adirimstrator&U5ER-20140&16DCThe keys randomart image i&t+ - RSA 2048+1+将生成的公钥内容在 gerrit中进行添加(参考下文 gerrit注册使用)每个人不同环
4、境可以添加多个对应的公钥cat /.ssh/id_rsa.pub$ cat */,ssh/icLrsa.pijb号wh-rsa MMR3NtaC 1 yc2FAAAADAQ4EAAARJQC+TutiM7s+37fiX/l 1 g4TdPZVhtgSO+FOH-Ubtfw4KI DEB+pnXOt;OBcKV/XucV2hdLVpKDlT3nEoTB6SmHZbqy3LC-l jblqhgWFb2EWSatDaC9oOvh2lX7ZTA+7 MJzwvqH9k7xllA03TBoiA?rX51M/fGgv35/kx27vH-pz5XLcV6i v4lnu jlYvw9VbBBaJr JXwNK
5、YiuSRyGX i zkrkfbjagkWPD2* S/bnC/OUcaoMLOZcSpKvoMBlycgC4BWplwyl TlyQughdPEYb22q9L6OUmAlE 3 ARJyfpgwlAcXMl34tRKDWob09qAp8ecfd&lR/TQtu41YoeL5DT4tAlqY+qEDN AdministratorLISER- 20140616DC2、gerrit注册使用1、申请账号(0:8088 ),登录后在右上角进行 setting 设置-2mW* AtdxfrTaChi J nekfrCTltWadAiJi , Etiiiii r通过邮
6、件向PPCM 发邮件申请,打开 gerrit网站fwfdri LvqjlM2、公钥添加点击SSH Public Keys Add Key选项进行公钥添加/d$ cat ,ssh/id_rsa.pub号mh-rsa M44B3N7aC 1 yc2FA4AADAQ4EAAABMK+TutiM7s+ 278X/11 g4TriP7VhtgSO+FO+Ubtfw4KIDEB+pnX(X;OBcKV/XucV2hdLVpxDlT3nEoTB69mHZbq/3LCl jblghgWFb2EWSatDaC9oOvh2lXMJzvqH9k7xllA03TB3iAX51M/fGqv35/kx27vw-pz5XL
7、cV6iv41 nuilYwVbBBaJrJXwNRYii7ZTA+7JzwvqH9k7xHA0JTB3iA?rX51M/fGgv35/kx27vw-pz5XLcV6iv41nu jlYvw9VbEBaJrJXwNHYiuSRyGXi Yzkrkfbc3gkWPD2 4 5/bnC/DUcaoMLOZc5pKvoMelyGg6BWp-l wyl TlyQughdYPEb22q9L6OUmAlE 3 ARJyfpgWlAcXMlSRKDWQbOSqApSecfd&lR/TQtlYQeLsDTAtAqY+QEDN 4dminl str dto4USER- 20140616DCc 厂 192.168
8、 31.10 uusipzint;3h 延3.段 Q,F ? %: 0:行盯 3. JT11Bnf ry f sr /、讨1-2 H7B 1: 10d拈弓心V 抗仁1 卜rFW?Ei*lb#7M=dk=nE S/#/settiog5/ssh keysnil了皆而野riucjjrf lltKAMnljUoliAL -Ptdfila =t chsd F ro je ct?CcrtEJZt TnfmztinnAli:二 Nixi35S*i-raaDaele Add Key 广耳 TTJCtJJgiai上工上大支二品AiMLdMJJE: . JjJiPnL4= |T 必代蚱打日大以 至AWuLUFui
9、ElT-EmbRINtBZlM,. 血口抬三叨 上 总1_m工5七 lH 比 dJ至K-R试lS LWDC:真 P Jblc 注:】庄Serjez Jlo31 3T工加成it 16 3lf*vw 5二:UL?xj; xlnt iEi-lrd:IVT!fll i3 dFBndt ry f砒 二lr2. Jlt.fi. 3Q. 10 .21Lt Iii-TL AulAAl:; tfii:ycZfiAiUdlvJuUUQil: Jit:ftdrij/. j6MfjLU?= JCBFTlt 口二4*Ml fy PtojiBcri s Pw Flue ins PnaaKiMStiari_ hacjp-E
10、 It if Dt hFt C iBm-al ef htfra-A Chaaup-EEt anrd kuLnc la-nrp eSeardh Ie tiSettings出11#Pr* 旨可一口7aft che prpje?t?C ait act IM. a cut l :ri5由氏/Ug Mb g hElItieM 1klir 二GrcsVi式小r4 XerCaajKirrgjL-工,. Jr4= B ppipUL figjl-isa *AAM 河IRZENAT/kE3Mllg,丸皿鼠 JMninEU Sfl 口即正320 叫期CCCDrieif I1ZM MiLii 段寸 to Gffw E
11、ll? tfi /73、邮箱注册点击Register New Email进行邮箱注册,注册后有邮件发送至你的邮箱点开链接重新 登录直ILL丐 ProjeGts1 PecpLeBoconjentst imList i3TLirLlAcctsi DashbatrdlsSett ingsPrnfi IfPrefs icim; v-酬可1jj|u;k* tbrH1,。曰阳%演串rlug*1wE L7Fw SaA-tvE MTT+工Ur 7S/I 3,If:!we出指1*MLtf 修i Mi-ill 31*即wn加耨*2、gerrit ALL Merged状态表示所有已经进入项目库的patchAllmj
12、g.qE5irh口.rwpd Afcai ain-aScorch f&r -aTiru-s-mergedr to oxAaJvtn nKCKDnrj. ElUtliA* * J ibn dTfitre *?:k toe anzGpnt w骷i pmHrMPuiiM-n-dit*r usrhn4lac|i dS3随.0力1,Iw抬口Sa hffOw即产才Vecga-d3K- biyxaclN-|*dlav &tnpH|Mp4flifp d屯里!蛔gfett 白iLxuItcp-dImp4rlZiwKtwim1心BW4Ei .n?i !JtalElEKtaJKtEnc a:1*hrulurii f
13、lTi.-iltir.1hv tdEwitTe 曲FtEhr mT JCt4lter jHAcrn1ME Iow4mtWrFhst/grrurAjPtQEX fJ晔*CE1卡P-ifftflE加D 23、提交patch后,开发人员可能觉得不太满意会选择放弃, gerrit ALL Abandoned 即为已放弃的patch ,只有还没有入库的 patch才能选择放弃,点击进入 patch ,橘黄 色Abandon即为放弃选项,放弃后的 patch依然可以进行还原,如以下操作All * PrejgT PiNipl-p Flncuu叩Id,福总工仙*4曲*103- - Jk血3 Knriw ,ti
14、tI I; 源:也15 l4JGT Ms.3h :由OwietHFicjraFrajictBranch TapirStr甘至yS40ixh1trniC1A Rf*hfW2I闻InnptrrKbaffiloriCnik-Kr-pi eLuttsr1小13 面 Ulhai g由Ci项虹乂炉 1& 20H 211U Fr1#式中 叼 ud 国 EL: Haqjir1H5idiErwJliN 1MbVM /泅lqg L IJl lirmmiMJUgXlkRMWK/产JUuJIOiMi ffcWtUH.I2 EDihekT由 TH苫书引制行第 rr*T5*口 州七门1rClwi ItevnIffiLr1
15、1nt EffTTv即bwb jb-tslPE cKuK-idj LuntEijmwMisrtii j.Audjrl-Ian MkwCfkXXKweeM 2&tabSa w*fWrfew IEi fa看aJ1 npt x tanjUxsisujg sawHRSE*rWv 8Cturri Gadi Etawoan JL L:- ; .| Baptr: Pr橘黄色Restore为还原选项d bb-JaMs!Eih Jfalclts liT f DQ1.T3 号ink0wrUrilfrjAh-nsdElihtm lamd职dFA州kMfgff品E的ffwrhpMtWi jlOTaEPSRfirtfT
16、&IT n/此 I aBBM通海M 题fld|LH MM NiMUM 14M)JMmNM.fltUimll&rlsap uqu. La Htbtt”m/vyjr 的MffMTRivt4r流送富* 口 jMlK I1脖-11匕41,般什仁4b再:bgMBlMMT rLsiMifl晒MnciJLa HuawrEE:hmdJ1Hot KLk Hub”lilr*f人海 .tMlrffitLhRFHH*T as米Tf- KvUv I pEJri Itari unori辟kEEtlT出 HMMH 卡MdRai 力A”.EKIWH-J:2 K.4lWv iMMg kVtl 111fan iivF4 Rid1
17、rmiri4HFfe-IA.M# .3 P 旧 n-ria 口 bM*wZKXLuHtai Sdiii的旃 H-mkl .* liar R. e Ciq尸油田A K4H9才 ttiAiCj PAWi La Huipvq- Ju UedriiSin:般曲han-rriat*H属黑Lb Iba in晒HW3 j?IHltLl (tLlDHTEFTkUUTg 32JEVt Vh %IJUATiFPMJI.Ewt3*Xi力 .rW 正flMlWlX1树掌鹏产情明电Off猿4、gerrit Projects List状态表示服务器端所有项目列表Projee田御A AC sip sMttFtUd . 巾
18、JithAT pusini4L ladradnl mr faftLnrj n= -prif itbl3- L:Dhj triRs piitEoSh 3* n np e:Cr ait a jlav Gar supGroup既l?prjcTjprfflnGeLLi.t Site AqilLiii11 atuliUssery vko- prfoni bat# tions on Cerrit小1。甲NeAdiLLZLltAdp levADDrewiwrApp_subiat erNm-Imerartiw Usersrr/uFFC1 口 ud_devPPClDudrevievsi:PKWLdvPPIVR.
19、_drPPT r ire 眦 t im_dwPFTrm ajctiarenrieire rTestDHO-vriter2、评审功能1、点击进入待评审的 patch,点击add添加Reviews人员进行评审AllQpni ,-yd 5ukcEdJiance 1)03 - Wseds- CadeRewis csttw i-11; 徒欣丁珅kbQF*溺gHiTJKIW dd4I Edil痴”日* |艇用OwgrLi Eaix;iinERstlwmI JUM ptojertEB事B 的Ehrimet,T中1心号ffit 铝y Pefj if 11rr *TtryOplEifed 5 weH 13 Gh
20、arry Helt I :如 UllflTlUH辛 ttMQlh-d 中 N 碑;&liu. *Fsv 11SDK 2110jlfK tt 的 JlIKt hare p-Id】於3不 m t Cl力匕不 不如年Fh :-9 dr 小士 口?疔口 口2日ff L 三 7f 540fT2ea = 35cl 90SnSCEuafdJf?也玩WU1 大此度k uh = 30i1d+Mm睛 gj .ri割M器LO 1iI 叩11 ME ftcup.st,IUVFilv FrthKt .野即y arerfcerVpaypal efi/filt er/tttrt. btiI 皿飞i aii iAlliTwl
21、aH粤#&NlKmtMr SW9Lb岬丽mhjh LCKf/ri昨 Rme1而*+ 型4 gl 占EEtjf.sr-UCMutKeiniyeLsLi出imqi吟JlbuXL 3WRlttWUlt rTdi* lv. 工r i值由1 F?ctfTa.元LqHxnrt!+i-日冶sT*金田 kifJMFNU- i慎.时范00 3tBMI* Zill Fff ?DL4 3: LIO FHI -1 1,力Eiic: h Mb.VL3FMIHTtCAfaUHifM尸IeF1U Athdouiir之山通士HudyirW皿4fWflllir.rl4.j qj. at caryEipndiAi i
22、评审人员点击Reply进行评审打分,每一个需要入库的patch必须具备两分+2方可,1分表示自己同意,2分表示完全同意,负分表示不支持此代码入库a Tax t LUL1 * MIt 4 17;30)Eb.hjEBrpaljHE15 勺牛Kh JHtJ.Fi rdSiJMWTfi ibl加网必cN州港加安LSFmlH KITTxrfN H 2iC IT Fin 】f MM hMHft.Ikli, 22、gerrit My Changes状态为需要自己给别人进行评审的状态FI41WBMy Revn号卜 fcoijr k nxi tiLktr naire=qishanq-i n2、项目库clone根
23、据gerrit项目列表,查看项目下载地址,选择 clone with commit-msg hook&ssh选项,请确保正确方式进行项目库下载All iWy Pinjarts .Feh|iLe DooLEuailat imS411L4IITLiandLas JLcesssDyhhar七二Project TrytSime | 匚俄喳 sth CMmF 亢士优越伸出TEid” HTIP | SSH | HHP |E141*匕油 1r5%4事目虞】笈 1脂 LQ 2X1写JT4工,1 :ap f ,丁 明U4四:1 口tI守莓,3LQ,加看小工/中风料力:g1Projl erf Qpt inrESt
24、ate;5imt Typr:AuxoniricQLLly rs电Ik canfliciatRequite Oi主心誓 14Lil iduHUt tica,e:M班iaL #比 abject size liim眦丑工申ItKiiCriHErf r ihu4nr 0交眄wrvl/Illlevw手卦fAby in, Cdiiaii| UlEERn f jLts)1 ,git clone ssh:your-accout0:29418/Test|S git clone ssh:/qishanqing0:29418/Test Icloning into !T
25、e5t1 . .remote: Counting objects: 6, donerenrote: Finding sources: 10族 (8/8)remote: Total B (delta 0), reused 8 delta 0)Receiving objects: 1009E C8/S)done.Checking connect!vity done.3、提交注意事项每一个新clone的库第一次提交都需要执行以下步骤(下载服务端钩子到本地库,以便提 交评审形成chang-id)scp -p -P 29418 your-account-name 0:hooks/
26、commit- msg .git/hooks/git config remote.origin.push refs/heads/*:refs/for/*Admi nistrator(5U5ER-20140616DC /d/Test (master)$ git config remote.origin.push rtfs/heads/*:refs,for/*4dministratorUSER-20140616DC /d/Test (master)$ git pushCounting objects: 8r done.Delta compression using up to 4 threads.
27、Compressing objects: 100% (2/2), done.Writing obi sets: 100ft (3/3,278 bytes I 0 bytes/s, dene.iFotal J (delta 0), reused 0 (delta 0)remote: Processing changes: refs: 1, doneremote: ERROR: missing Change-Id in cofnmit message footerremote: Suggest!on for commit mes5nge:remote: try test remote:remote
28、: Change-Id: lfc4SlefJt4aetbl/.2aJfeeUKf248fOb6f42/Oef 1/d remote:remote: Hint: To automatical 1 y insert Change-IdT irstal1 the hook: remote:gitdlr=5(git rev-parse -git-dTrj; scp -p -P 294HJ qishanqi.IfeB.31.10: hooks/cowi t-asg $gitdir/hooks/ remote:remote:To ssh:/qishanqinqtl0:7941S/Te
29、stI remote rejected master - refs/for/master (missing Change-Id in commit mes5 Lge footer) error: failed to push sone refs to sshiZ/qishanqngOl9,166*31,10:29418/Testkdmini5tratQTU5ER-20140tl6DC /dAcst (master)S scp -p -P 29418 q-i shanqi ngJ192.168,31,10: hooks/comm-it-rnsg , vit/hooks/ (commit-msgU
30、K谓 4J644,3KE/500: 00当执行完以上步骤,第一次 git push依然会产生missing Change-Id错误,用git commit -amend 命令把错误信息中的 changed id 进行添加,如下图S git pushCounting ot)jects: 8, done.Delta compression using up to 4 threadsCompressing objects: 100% (2/2)t doneWriting objects: 100% (33J t 278 bytes | 0 bytes/s, done.Total 3 (delta 0
31、), reused 0 (delta 0)remote: Processing changes; refs; J, doreremote: ERROR: missing Change-Id in commit message footerremote: Suggestion fpr comnit message:remote: try testremote:remote: Chang-ld: l451e6f4aefbl772a36e0Ef24SfO66JF427Oefl7d remote:remote: Hint: To automatically insert Change-Id, inst
32、all the hook: remote: gitdir=$(git rev-parse -git-dir): scp -p -P 2941$ qishanqing152.16S.31.10:hoolcs/cmrit-msg $gitdir/hooks/ remate: remote:Tu S5h;/q)shdiiqinu 192.1661.10:23418/51! remote rejectmaster - refs/for/master (iiissing Change -Id in commit mess age foot er)error: failed to push some re
33、fs to ssh:/qihanqing192,166.31+10:29418/TestAdministratorU5EK-20140616DC /d/Test (master)i5 git 工onwidt -afnend master bf5dl4 try test Change-Id: I6451e6f4aefbl772ai6e0&f24BfQ66f427Qefl7d1 File changed, 3 inm史tinns(十JAcJnn ni 5tr LiLorU5ER-2014O j1GDC /d/Test (master) $AdministratorUSEFt-20140615DC
34、/d/Test (master)I$ git pushCounting objects: 6, done.Delta compresaion using up to 4 threads.Compressing objects: 100% Q/2), done.Writing objects: 100% (),321 bytes | 0 bytes/sf done*Iatal 3 (delta 0), reused 0 (delta 0)remote; Process!ng changes: ncwi 1) rcFs; 1, doneremote:remote: Mew Changes:remo
35、te: http;/192+18,31,10:8001/40 try test Change-Id:1G451e6f4aefbl772a36e 0848f06F4270Gfl7dremote:iTo ish:/qn shnnqing192.L&8.31.10:29416/Tcst* new branch master - refs/for/master本地工作库中,以最后一次成功push为节点,如果超过两条 commit信息也会产生此错误合并多条commit为一条记录,可以用 git reset后跟要回退到最新push成功的版本号, 整合多条记录为一条如产生uppack error和chang
36、ed closed ,建议保存工作库中修改文件,并进行强制回退、重新同步最新代码,以修复工作库index。git reset -hard xxx同步项目代码的时候会产生冲突首先可以先隐藏本地修改的git stash同步代码git pull恢复刚被隐藏的修改git stash pop有冲突进行修改编辑,并进行添加(add)到暂存区后,进行项目开发4、git具体命令解析从远端服务器获取本地分支最新版本,任何时候进行开发,请确保工作库为最新状态,这样才能避免与其他开发人员进行冲突git pull添加文件或修改文件后将文件添加到暂存区git add file-name删除文件后将文件添加到暂存区(整个
37、文件夹删除添加-r参数)git rm file-name提交所有暂存区修改到本地库,必须添加提交日志作为以后参考git commit -m commit massage ”补提交(当一个 patch已经push到gerrit但还没有merged ,可以进行不提交修改 commit massage 信息)git commit -amend 进行编辑查看当前本地和服务端所有分支,*号代表当前工作分支git branch -agi t branch -aiiid.l_ 仁 n- origin/master随时查看工作库状态git status (添加参数s为精简模式)修改后差异输出git diff提
38、交日志随时查询git log将本地最新分支推送到gerrit准备评审git push origin HEAD:refs/for/xxx (xxx代表分支名)清理工作库空间,删除不受控的所有文件git clean -df基于当前分支的本地最新状态新建并切换本地分支git checkout -b new_branch合并分支(将target_branch 合并到本地):git merge target_branch重整分支版本或合并多条提交记录为一条git rebase base_branch重置命令是git最常用的命令,也是最危险最容易误用的命令,使用如下图git reset xxx (回退lo
39、g至某个commit值,但是期间的修改得到保留,增加参数 一 hard回退所有记录和修改文件)AdministratorUSER-20140616DC /d/Test (master) 5 git log -2commit caOdd5dO5e9f6b795cd3fb3c1588e4abl3a39738Author: admin Date: Tue Dec 2 16:27:25 2014 +0800try testcomnrit 9311be3bl&cbl69fl0574d4a9d24fd&Oc9bbO5cAuthor: admin Date: Mon Dec 1 16:28:59 2014
40、+0800addAdm-in-i5tratorUSER-20140616DC /d/Test (master)5 git reset HEADAUnstaged changes after reset:M testAdministratorOUSER-20140616DC /d/Test (master) 5 git log -2comm-it 93116be3blacbl69flO574d4a9d24fdaOc9bbO5cAuthor: admin Date: Mon Dec 1 16:28:59 2014 +0800addcomni-it 13daf 3ad222flle832193fb0
41、b313a62f 5ddc77a9Author: admin YppitDate: Mon Dec 1 15:32:06 2014 +0800test againAdministratorUSER-20140616DC /d/Test (master)$ git diffdiff -git a/test b/testindex 71e21c5. .af79134 100644a/test4-4-4- b/test鲍 T,2十1,3解ok+testS git l*g -2commit 6S2BS9f3d2d6f3e9f554ae31646265269Cbe6444Author: adinl n
42、Oate: Tue Dec 2 16:33:49 2014 +0800try testcomm-i t 93116be3blacbl69flO574d4aSd24fda0c9bbO5cAuthor: admi n Date:Man Dec 1 16:28:59 2014 +0800addA.dmi n i str atcrUSER-20140616DC(test)$ git reset -hard HEADAHEAD is naw at 93116be addA.dm-i n i stratorUER-20140616DC /d/Test (test)S git log -2commit 95116be3blacbl69fl0574d4a9d24fda0c9bb05cAuthor; admi n Date : Mon Dec 1 16: 28: 59 2014 MSOOaddcoimni t 13daF3ad222fzlle832193fbOb313a62f 5ddc7 7a9Author: 3dMli n Date:Mor Dec 1 15:32:06 2014 +0800test agai rA.dmi ni stratorU
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年土地使用权交易代理合同6篇
- 2024年度体育用品设计与开发合同3篇
- 2024版虚拟现实游戏ODM合作开发合同3篇
- 2024年企业综合信息化管理系统定制合同
- 2024年度版权买卖合同:青苔有声书著作权交易3篇
- 2024大连市夫妻协商一致离婚协议范例
- 2024年度风力发电项目合作协议
- 2024年上海房产交易正式协议文件版A版
- 2024年并购交易中介服务协议样式
- 2024年供应链管理与优化协议5篇
- 精神科保护性约束问题课件
- 原发性肺癌临床路径
- 2024-2025华为ICT大赛(云赛道)高频备考试题库500题(含详解)
- (中级)数据安全管理员(四级)职业技能鉴定考试题库-上(单选题)
- 2024年度特别版磷矿石购销合同(修订版)
- 空调设计答辩
- 2023年吕梁市公安机关辅警招聘笔试真题
- 加油站应急救援处置卡(全)
- 骨科骨折课件教学课件
- 2024年四川省公务员考试《行测》真题及答案解析
- 2024-2030年中国电动工具配件行业市场发展趋势与前景展望战略分析报告
评论
0/150
提交评论