Gitlab使用手册_第1页
Gitlab使用手册_第2页
Gitlab使用手册_第3页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Gitlab 使用手册目录一 Gitlab 账号 / 库申请流程 31.1 Gitlab 账号申请 31.2 Gitlab 库申请 3二 Gitlab 登录 32.1 Gitlab 访问路径 32.2 Gitlab 登录页面 3三 Git 环境配置 43.1 创立公钥 43.1.1 Linux 环境 43.1.2 Windows 环境 43.1.3 MacOS 环境 73.2 Gitlab SSH页面配置7四 Git 操作命令 84.1 Git本地仓库操作命令 84.1.1 git init/git clone 初始化库 84.1.2 git status 查看状态 94.1.3 git ad

2、d 添加文件 94.1.4 git diff 比照文件 94.1.5 git commit 提交更新 104.1.6 git rm 移除文件 104.1.7 git mv 移动文件 114.1.8 git log 查看提交历史 114.1.9 git reset 撤销操作 124.1.10 git branch 创立分支 134.1.11 git merge 分支合并 134.1.12 git conflict 解决冲突 144.1.13 git tag 创立标签 144.2 Git远程仓库关联操作命令 154.2.1 git remote 查看远处仓库 154.2.2 git remote

3、show 查看远程仓库信息 154.2.3 git remote add 添加远程仓库 154.2.4 git fetch 从远程仓库抓数据 164.2.5 git pull 获取最新版本 164.2.6 git push 推送数据到远程仓库 164.2.7 git remote rename/rm 远程仓库重命名 /删除 17Gitlab账号/库申请流程1.1 Gitlab 账号使用邮箱前缀、邮箱密码访问即可。1.2 Gitlab库申请邮件申请。发邮件给 zhaoweiz、cuixf1Gitlab登录2.1 Gitlab访问路径URL:/gitlab.rd.chanjet /2.2 Gitl

4、ab登录页面Existing user? Sign inSta ndardcuixfi邮箱前霜LDAP Sign inGit环境配置3.1创立公钥不同操作系统创立公钥的方式不同。以下是三种操作系统的举例。3.1.1 Linux 环境$ssh-keygen / 生成公钥$ cat /.ssh/id_rsa.pub II将公钥文件内容拷贝到Gitlab配置页面中。见 3.2节。注意:Vim文件复制粘贴可能会导致内容换行,导致公钥无效。3.1.2 Windows 环境需要下载 msysgit禾口 tortoisegit客户端第一步,下载msysgit并安装。根本上一路Next。因为我们还要安装tor

5、toisegit,所以不需要选择 “Windows explorer integration 。/p/msysgit/dow nloads/list?ca n=2 &q=%22Full+in staller+for+official+Git+for+Wi ndows%22或者公司共享目录:工具共享 常用软件git第二步,下载tortoisegit并安装URL:s:/code.google/p/tortoisegit/wiki/Down load?tm=2或者公司共享目录:工具共享常用软件git第三步,在tortoisegit上配置 msysgit的路径见以下图创立公钥的方式二者选一即可

6、1通过tortoiseGit方式生成公钥a从Windows开始菜单项选择择 TortoiseGit,点击其下的Puttygen工具,该工具用于生 成Putty支持的SS揺匙对。TortojE&Git* Helpl NotepadZ斷 PageantSettingsTortoheGitBlameLf Tortois eCitlDiiff鼻 7ortoiseGitMerqeb点击Gen erate按钮,即生成公钥和私钥。将Public key公匙和Private key私匙都保存到文档中,以免丧失。其中Private key是你的TortoiseGit用来验证用户身份。冋Ivsa z-hs

7、svsa hss ©Xa科!|qnd SAejAs3|sip aABj却才 Xa 对 3£Ajjd iCuspca 虫 peqjied 稲坤-dF!Jd/3fqnd e 旨阻i 副usgsuoqo.dsejqdssed mi 驭町-酣巨jqd鲂它d Aanj£L90HK 阿函:mauiuiioD 蚀鼻:P戏Cpag;"邇鼻:直:£舛皓艺巩:0«£ZH旦"徉MtLOEesj “0朋咖删細U°b日林临飾代鈕ujcu出用羯£珂 妙 o叫 *3 吕 £3H I'M 丄哪xM 卜eiss

8、 口 口巧忡尙 e-i/ombzouh 1 a /ASfu#ddfrBorA4tAfN r beTiAi>i uh i°° 忖 W roswi 北曲囲 ydnxJCA a r-/wnrwtvtzi oEZNEBtvtv 包肝日辭 9|J EXs>|p&7pgt|7ie HSSUdQ QJU Suited Jq 冋列旳.j_一 蚀dH suoisjaAJuo Aa> 3|ijVSd乙USS :匪篆阴人刊w' iFZOLYSafHJS诒耳 3&aue6 ? ui spq jo 同quin时Y5HLHSS ': :曲斗qiqnd

9、巧别扌也片 3EAud 6uisp ue pmo|jQdl X9>| dfQAud/iqiHd o 口 dau%suopf;函 兀e ui siq jOAqiunM¥SHL HSS :orjou&E A&>| jo &dX£dp|p| suioisjdjsLJOQi As mjTjojsua Ai» 扎I® 占1.将生成的Public key粘贴到GitLab站点“申请者帐号里。配置方式见3.2节。由于tortoisegit生成的公钥粘贴到gitlab SSH Ke中并不能够自动生成title因此需要自 己填写一个ti

10、tle'Add an SSH KeyFa曲 yftjf putfai. hAry htf ftWTtiihW tOA kG an ibd SS4 h»p phigfifc&r sip iGrTz開Gohk KftlH+肌 eju4?ixf tERVife科JEi輕 IrpyOhSSG M 哉A- rwi 什迪 1406l 72.保存 Save private key到本地。2通过命令行方式生成公钥a点击开始,在搜索中输入cmd'。厂SrW呂屮+*rmd|xb$ssh-keygen / 生成公钥c将生成的Public key粘贴到GitLab站点“申请者帐号里。

11、配置方式见3.2节。3.1.3 MacOS 环境$ssh-keygen / 生成公钥$ cat /.ssh/id_rsa.pub /将公钥文件内容拷贝到 Gitlab配置页面中。见 3.2节。3.2 Gitlab SSH页面配置Gitlab“ Add SSH 界面如下:将3.1节创立的公钥拷贝到 Key方框中:四Git操作命令4.1 Git本地仓库操作命令git ini t/git clone git statusgit addgit diffgit commitgit rmgit mvgit loggit resetgit branchgit mergegit con flictgit ta

12、g【初始化库】【查看状态】【添加文件】【比照文件】【提交更新】【移除文件】【移动文件】 【查看提交历史】【撤销操作】【创立分支】【分支合并】【解决冲突】 【创立标签】4.1.1 git init/git clone初始化库?初始化一个新库$ git in it?从现有仓库克隆$git clone URL4.1.2 git status 查看状态假设没有可跟踪的文件,用git status命令,那么会输出:r1020031 tesTlOOG# gi'T srstrus岸 on branch master樓# Initial commitnothing to commit (ereate/

13、copy files and use "git add" to track)IF二 4TKFEKr* E 4 r rj假设编辑一个新文件hi.txt,保存退出。用git add命令跟踪文件后运行git status命令,那么输出: m 鼻 J r * 中 r j m 9 rrooTvnu 1 ozoo31 rexiOQBl# gr add hl - txt Croo-t-vmll0200 31 tesHlOOG J g-f H STa.tun* cn br an ch m asx e r样 inn T1 al commiT样祥 changes to be comminTed

14、:* Cus-e ,rgT t rm cached cFi To. . * " to unsx age> 沖* new file:hi - txt说明:只要在"Changes to be committed 下面,就表示为已暂存状态。假设修改已经暂存状态的文件,保存退出后用git status命令,那么会输出:root<3vmdL1020031 testlDOG* giX sta"tu>禅 On br ariich riiasrer禅昇 Inirif al comimiT# cKanqes i a he conml irr ed :# Quse

15、"git rm -cached <f 1. " to unstage)# mew file; hir t# Chi9.nge riQt 3.lagged for oflnn-ix i¥ tuse 'gnt add 1 e>-»." to update what will be comniTted j養 <us« '"gi t Gh«ckout - <f 1" to discsd char«s inr ki nq di ractory>#惮n»

16、;d1f ied ! hl * r xie需要将未暂存的文件说明:hi.txt文件出现了两次! 一次算未暂存,一次算已暂存。 通过git add添加到已暂存。4.1.3 git add 添加文件作用:可以用它开始跟踪新文件;把已经跟踪的文件放到暂存区 合并时把有冲突的文件标记为已解决状态。4.1.4 git diff比照文件作用: 当前作的哪些更新还没有暂存; 有哪些更新已经暂存起来准备好了下次提交。Qroor®vntll02QO31 tgi T dif fdi -T1 gl t a/hi . r xt h /Iri . r xt 1 ndex 1-90a 180, . cZ5aO?

17、b 100644 a/hi txt 十十十 b/hi.xxt-1 -kl i 2(04BKa-dEr oott&virtll 0 20 0 31 TzeSitlOOGl wit 诅日日 hi . t xt rootvTnLU.020031 T# §扌t说明:有时候一下子暂存了所有更新过的文件后,运行git_diff后却什么也没有。原因是,git_diff仅显示还没有暂存起来的改动,而不是这次工作和上次提交之间的差异。4.1.5 git commit 提交更新在提交之前,一定要用 git status确认还有哪些修改正的或是新建的文件还没有暂存起 来。否那么,这些没有暂存的文件

18、就不能将最新变化提交到版本库中。参数介绍:git commit -使用-m参数后跟提交说明的方式,在一行命令中提交更新root®vntL1020031 tesxlOOG# git commiT -m "test" hi,txt masrer (root-匸otiwiTt) lc4a7e& Tes1 file changed, 2 1nsertionsC+)create mode 100641 hi,txtgit commit-自动把所有已经跟踪过的文件暂存起来一并提交,跳过使用暂存区域提交更新tpiMal W J5 J 、W 比 I J W W MVroo

19、rvmllOiO031git commit -a -m "vestmaster d7?648e test2 fl1es changed 4 deletion3del ex 旦 mode 100644 hi.rxTdelete mode 100644 te5t-txt4.1.6 git rm移除文件git删除已提交的某个文件,需要先用git rm命令从暂存区域中移除这个文件,然后再用commit命令提交。HULriiriLj lu Luniin i luirtLLUiy titdrij root(&vmll 020031 testl006l* 1_ total 0-rw-rr-

20、 1 root root 0 Mov 6 15;15 Test.txtLroot&vmll0200 31 testlOObJ# git status# on branch masternoth4ng to commit C«crkicHrectory c 1 ean)rrootvmll020031 testlOOG# qit rm test.txtrm 'test,txt 'root&vmll020031 testlQOGl# git status# on branch master# Chsngps tn he rornmir t pd :# (us

21、e "git reex head,* to untage# del eted: test.Txt#lrootvmll020031 testlOObH# git commit tesr.rxt -m "del master b7d2abj del0 fi1es changeddel etc mode 100644 test tKt root(?vmH0ZO031 testlOOC# git status # on t>r an ch mastern or hi ng to commit C«orki n 号 cHr ector y cleanE_曲 h 吒 *

22、 产I. Bji _d_a 耳尸峠 w *4.1.7 git mv移动文件Git中的重命名某个文件,仓库中存储的元数据并不会表达出这是一次改名操作。文件改名并查看当前状态:rroou®vn»nozoo3i xesiooeiw gli mv test* rxt tesr_to uccr QOX®vmll020Q31不# g5 r st ar us# On branch ma_jter-.# changes to be coiwiixt ed :# Cuse "gn t rcs<!t tlCAD <Fi 1 c> * "to un

23、stage)# renamed :Test , r xt > r pgt_tc_ tTeT运行git mv就相当于运行了下面三条命令:$mv test_from.txt test_to.txt$git rm test_from.txt$git add test_to.txt4.1.8 git log查看提交历史每次更新都有一个 SHA-1校验和、作者的名字和电子邮件地址、提交时间,最后缩进一个 段落显示提交说明。oorvntLl020031 Tes-TlOOG# git 1 oqcommiT O554S0106951c9794b967c75a2f61BdO?da215 Auxhor: z

24、haowei3 zhaawen 35t afsinaL com. cn> Da-te :Tue Nov 6 14:48 : 55 2021 +0B00commit Testcorrmi t lc4a7e6012933f 97e654525afi03d6 7f 2 S6e6b34 Author: zhaowi 3 -<2haowei 3staff. s1na. com. cn> Dare:Tue Nov 6 14:38:13 2021 +0fi00test常用查找历史日志的选项:-p:项展开显示每次提交的内容差异;-n数字:仅显示最近的n次更新。就可以用这个选在做代码审查,或者

25、要快速浏览其他协作者提交的更新都作了哪些改动时, 项。4.1.9 git reset 撤销操作? 取消已暂存的文件假设不小心将某个文件添加/删除到了暂存区域,可以用“git reset HEAD <file>命令取消暂存。-I l * jfk二 1 j x.Tfrrt t 匸 j i Lr octvrill02tstlOOCI git add hi . txtrootYnll02&031 ttstlOOG社tus# on branch master# rhargps to be rnmiwittpri;¥ (use "git reset MEAO <

26、;ff 1e>. , . " to jrrstge)# mndlf1pd:hl.txr#r octvrillOJ JDJ1 t5tl00bj* gdt res fit HEAD hd .txt urctaqcd chinge:; after reset:mhi h txtrrootvrill02JMJ31 testlODCl qit status# Dn branch master# CfidrKjeh riULor conml l:# (use "git x " tn npriar p rihfli will b? cewtrrit t ?d)# &quo

27、t;gir ckDur -一" ra dlcrd changes 1n workirij dlrtcraryj#*modified:hi.rxrno chanqcs added to conmit"qit add" and/qr "qit comnit -a'JI L.-uifdi.E" : OMIT_*q" r cz l * ? 修改最后一次提交提交后发现漏掉了一些文件,想要撤销刚刚的提交。 假设刚刚提交完后没有做任何改动,可y rTYrr* z.'Vit. i v W r 'pr i; IJTCIWroot

28、SLwl 1020031 testlOOiB# giit status以使用一amend选项重新提交。On hranch wiasrerChanges to be rcwmitTPd:(use ""git reset HEAD <f li le>" to unstage)niDdif irt:mod it i-ed :hi. trt tes t tKtrooc®viTiiJiO20D31 ies11006* Qii conrlx * 戸"广口 cowK vest .second 匚(XmlL IhF ies.Cs cxr '

29、astier sdebibf first conitE. (sc&rul tomilt ni卄 on branch master* ikarhges to be ccfflmlrted:# (use "git reset HEAD <file>-, -aB to unstage)1 File dldng凶.1 1r&eri1on(+) rmevinijiQ2OQ31 testlQOBl# git siaiusmedif liiisd:hi .txtrootfi-vinll31 testl00l6j-f gii t comri t -amend hi. tx

30、tf irst cofwitpS«ond CMwit hi带<*rii4!r itw mmi 11丛孕丸 for your出 l Irwsrug# «Uh will b« ignored« and an npiy nssige aborts ite connR.# Explicit paths specified witho<rt -1 nor -o; ass uni ng 一一wily paths.# On branch Master# changes to bf rcwmltted:# (use "git reset1 e>

31、;,. B T, to unstagej# modif ied:hni Txt# modified:tesTtMt?取消工作目录中已经修改的文件那么可以用假设已经添加到暂存区域的文件又进行了修改,但这些改动又觉得是没有必要, “ git checkout - <file>. 恢复到修改前的版本。I! I H n 1- /V-L I y £. U EH L L 匸I Iroot&vmll020031 testlOCb# git status# on branch mast er带 changes xo be comnitTed:# (use "git re

32、set head <fi1e>.t." to unstage)# modif i ed; hi»txr# changes nor st aged for comiri r:# (use "git add <f<1e>. ." to update what will be committed)岸(use "git checkout <file>T. .T, to discard changes in workii# modified:Ivi txt$vim hi.txtrroflTfl.virallO&#

33、39;oosl xesi idCf?# q1r checkoLiiT 一一 hf .rxrr0OteviillO2OO51 t<stl006# git status# on branch master乍 匚hflingps to bp CDfiniitted ;當 (use 1 reset USD <f 亠to unsTage)# modified:hi,txt4.1.10 git branch 创立分支创立一个test分支,然后将目录切换到test分支下面。I nj L. n I n I twU-Knintn i inr r r bylj i iliji y / roorvmll

34、OZOQ31 teTlQOGJ# gir branch* master(Ji prol r00邑vCL斗02003丄 testlO-06# gir branch* masterprolrDorvmllO2OOl testlQ06# gir checkout prol switched to branch 'prol'raoxvmllQ2OQ31 tesxiaofe# gix branchmasr er* prol注意:test分支前的“*字符:表示当前所在的分支。git checkout - b 分支名相当于:git branch分支名git checkout 分支名4.1.1

35、1 git merge 分支合并首先查看当前目录所有分支清单,然后切换到master分支目录下,最后将 pro1分支内容合并至U master上。rrooLvml 1020031 rest 1006# gitin 日 st er.Swf t_c_lied tu bi iiiilIi * mas ter *CroQt®vmll02C03L testlOOGl# git_branch& masterpr olroot®vmll020031 tcstlOOS# qit merge prol Updati ng SQa-fObl, , 33b41dOF ast -t 0厂

36、clhi “ TXT | 丄 +TPSt.TXT I 1 +? f 11 es changed ? Inseri: 1ons(+54.1.12 git conflict 解决冲突如果修改了两个待合并的分支里同一个文件的同一个局部,那么会出现如下报错:rootvuill020031 testl006# git merge prolAuto-merging test.txt conflict (content): Merge conflict in test.txtAutomatic merge fai1ed; fix conf1icts and then commix the result,m

37、i -_t a i l myucnanui ni v u_uonii- ill.rrooTvmlitesx1003# gl< starus* Grik11 'Pn di-s C桦 V口kj have unniEr qeci pa.'c.l-is .* x r orii-F 1 i ex 9 and rum ,-gi vt J*# IJCWir'QP1*; 誌fl"!% :i¥I u 3E "" ei 11 aedd kF i Tl ua .* t o maiir k. r ea-ol u t 4" o-n+#bot

38、h modifled:test,txt?如何编辑冲突:首先查看当前目录下的状态git status,然后编辑冲突文件(vim test.txt),再将冲突文件置为解决状态git add test.txt,最后将合并的文件提交给(git commit - m "注释)。冲突文件test.txt,翻开后可以看到:<<<<<<< HEAD bra1-11111222 bra1-qwerea>>>>>>> pro1test说明:=隔开的上半局部,是 HEAD即master分支中的内容,下半局部是在 分支中的内

39、容。4.1.13 git tag创立标签?列出所有标签git tag?搜索标签git tag - l标签名创立标签git tag - a标签名 -m注释4.2 Git远程仓库关联操作命令git remotegit remote showgit remote addgit fetchgit pullgit pushgit remote ren ame/rm【查看远处仓库】【查看远程仓库信息】【添加远程仓库】【从远程仓库抓数据】【获取最新版本】【推送数据到远程仓库】【远程仓库重命名/删除】4.2.1 git remote 查看远处仓库用git remote命令,查看当前配置有哪些远程仓库。加上参数

40、-v,可以列出所有的远程仓库。rootwdJ.02Q031 iiysite# git remoteoriginroot©vnll02a031 iiysite# git rEinotE -vori屈n . con/zhaoweilQ17/iiysite.git (fetch) origin s;/github. con/zhaowil017/iiysiTe.git (push)参数介绍:-v:可以列出所有的远程仓库。4.2.2 git remote show 查看远程仓库信息mnr®vmTl# gi t rpmnrp vhoworigin f root®vmll02

41、0031qi t remote show origin* remote originFerch URL: s:/github /zhaoweiiDlZ/mysite.git push url: Impshub. com/zhaoweliaiz/myslxe. g1tmead branch; masterRemote branchesiEPGtEr trackedsi na tracked local branch configured for 'gir pull':master merges with remote rnasrerLocal ref configured for

42、 'git push':. master pushes to.master, (up to巳)4.2.3 git remote add 添加远程仓库w pj j r 0 T w w l 4,h i -wfa w r r -b n .* wt * n 1 j h| j * 严 jrtK)t.rtl02Q031 mysitc#' git remote jda proectl nttpaj/Zgtlujb. coir. zhaoMClOl/ - mysiten q_C. rootdlLinil020031 nir5itej# git remts -vorigin hitps:

43、7/y UhuL, cun.zjidorfe I L0J/n_y5'ltt.g4 (feiclr)oriiri hrtps:/github,cofnH,'zha3tfei 101/irysite>q't push)projectlnttp5:/githubxcom/jhsQhfl-i 1017; ite. git (f«cb)praje nil &:/git bub. corny ihaohel 1 QI 7 >git (pu&h * - 、-"" !1.二_424 git fetch从远程仓库抓数据命令:$gi

44、t fetch pron amerroci:ffvmll02ao31 (uyslLe< g1i re(i»Te -y.origin s: /g ft hub, com/hauwei 1017/ms1 t h. ij 11 (fetch or 1y tn hups :/gtthub+( om/zhuw»t1 lOlT/mySH(|;ush)proj ectlnrtt ps;/gi thub. coffl/zliflowpilOl 7/mysiT®. gir Cf er ch)projectlhrtt ps:/ZgiThub, cou/zhaoweilOcl/n

45、iysi te. git Ipuwh)rtn?l<&vmllO2O031 hyi itej* <jit fetch pr ujec_tlFrom b ;/g ithuu. com/zhduwei 10L7/(nyi>ite * rnew brancnlmasterprojctl/niaater* rnew tran匚hl-> proj匚tl/win曰4.2.5 git pull获取最新版本roovnill020031 mysite# git pull orignnFrom s:/,/gi thub com/zhaowei 1017/mysi te bfa6030

46、.dfO34c7 master -> ori gi n/master Al ready up-to-date4.2.6 git push推送数据到远程仓库如果要把本地的内容推送到Git效劳器maste分支上.mysTtcgix add zpftxt *. mys i te # gvt-conmi t -m h*ti 1 1nserr1onC+>命令:$ git push origin masterr oot&vmllOSQO JI'r ot&vmllOZOO 31JmdSLer dfO34L71 file changed,_ _rooTvimll020031

47、 mysire # gif push projectl master Username for htrps : /flithub, com,; zhaoweilOl? Pasord for T hrrps :/zhanwpi 017-i rhub. rn(n': Counr i ftg obJe亡十主t S 3 don&.Writ! ng objects: lOOSt (i/3), 257 byt cs r done. total 3 (delta 0)p reused O Cdclta 0)To s ; /github. com/zhaowci lOUy/mys-ite gitbT且6030.dfO34c7 mailer a masu已427 git remote rename/rm 远程仓库重命名/删除« OQT-S-Vniil 102DOJl pny§ite# gri t r曇<ote -、«r Igiln Irc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论