Git-简单使用教程(个人独享版)_第1页
Git-简单使用教程(个人独享版)_第2页
Git-简单使用教程(个人独享版)_第3页
Git-简单使用教程(个人独享版)_第4页
Git-简单使用教程(个人独享版)_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

页脚页脚Windows下Git和Gitlab简单教程---jack杨俊伟在使用之前,因为大家之前用的都是SVN集中式的版本控制系统,而git是分布式的,但在使用和功能上差异没有特别大,这里需要先简单了解它们的差异。最核心的区别Git是分布式的,而Svn不是分布的。Git跟Svn一样有自己的集中式版本库和Server端,但Git更倾向于分布式开发,因为每一个开发人员的电脑上都有一个LocalRepository,所以即使没有网络也一样可以Commit,查看历史版本记录,创建项目分支等操作,等网络再次连接上Push到Server端。Git把内容按元数据方式存储,而SVN是按文件:因为,.git目录是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签,分支,版本记录等。.git目录的体积大小跟.svn比较,你会发现它们差距很大。Git没有一个全局版本号,而SVN有。Git的内容的完整性要优于SVN:GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。Git下载下来后,在OffLine状态下可以看到所有的Log,SVN不可以。SVN必须先Update才能Commit,忘记了合并时就会出现一些错误,git还是比较少的出现这种情况。克隆一份全新的目录以同样拥有五个分支来说,SVN是同时复装5个版本的文件,也就是说重复五次同样的动作。而Git只是获取文件的每个版本的元素提交(Commit)在SVN,当你提交你的完成品时,它将直接记录到中央版本库。当你发现你的完成品存在严重问题时,你已经无法阻止事情的发生了。如果网路中断,你根本没办法提交!而Git的提交完全属於本地版本库的活动。而你只需“推”(gitpush)到主要版本库即可。Git的“推”其实是在执行“同步”(Sync)。所以得出,SVN的特点是简单,只是需要一个放代码的地方时用是OK的。Git的特点版本控制可以不依赖网络做任何事情,对分支和合并有更好的支持。管理项目用$丫2管理代码用Git,这样可以取长补短。一、->在WIN10下开始安装GIT客户端(包括git和tortoiseGit)在使用教程中包含了必要的软件安装程序,版本是比较新的,可自行使用;型 大小3型 大小3田瑾ZIP文件 36,R5KBWindowslnEtall.M. 1SpiOKBUJindowsInstall...2.996KBTGit-2.13.0-p 2017/5/1810:06闫TortoiEeGit-2.d.02-64bit.m£i 2G17/5/1316:15目TortoiseGit-LanguagePack-2.4.a0-&4... 2C17/5/131&10操作系统:Windows10git版本:gitversion2.13.0.git客户端:TortoiseGit--64bit(官网下的)TortoiseGit语言包:汉化包,利于入门理解

a.安装git环境软件(全部安装选项均采用默认,路径自行选择)Git2.13.0SetupConfigurin口thelineendingconversionsHowshouldGittreatineendingsintextfiles?®=checkoutWindows- 用口酰二视1giinemndin口号Gitwil□onu'ertLFtoCRLFwhencheckingouttextfiles.WhencommitingtextfileSj.CRLFwillbeconvertedtoLF.ForcrossplatformprojectsrthisisthereoonimendedsettingonWindowsrcsre.autocririssetto"true").OCheckoutas-is,comnnrtUnix-stylelineendingsGitwilnotperformsnyconversionwhencheckingout:textfiles.Whencommttingtextfiles.CRLFwillbeconvertedtoLF.Forcross-platformprojects/thisistherecsnimendedsettingonUnixCoors-autocrlfissetto"input)OCheckoutas-i5zcommrtGitwilnotperformaiyoonversionswhencheckingoutorcammittingtextfiles.Choosingfriisoptionisnotrecommendedforcross-platformprojectsfcDre.autOLririssettorfelseT.Git2.13.0Setuphttps:Git2.13.0SetupInstallingPlsasewaitwhileSetupinstallsGitonyourcomputer.Extractingflies...https://glt-for-wlndows.glthub.lo/Cancel基本一路默认next即可安装成功后,空白处右键可以发现gitbash

新建MicrosoftV/ord文档docx 2017/6/610:5^1TOC\o"1-5"\h\z苴看Ml >排序方式〔口】 >领砧旧 >同款E]三定史立律法的.,希等W)司即快捷方式商I■百茅用【U} Ctrl+ZGitGUIHereGitBashHere共享(H> >出£VNCheckout...-^§TortoiE&£VN^(W) >b.安装TortoiseGit(全部安装选项均采用默认,路径自行选择)(64bit)Wetup

费TortoiseGit^,4.0,2(64费TortoiseGit^,4.0,2(64bit)SetupClicktheFinishbuttontoexittheSetupWizard.□ShowChangelog0RunfirststartwizardThanksforusingTortoiseGit.Youcanshowyourappredationandsupportfuturedevelopmentbydonating!<Bai±FinishDonate!<Bai±Finish此处安装完后点击finish会自动重启,请注意勾选安装后右键菜单可以发现TOC\o"1-5"\h\z查君时 > I田通时⑼ >例磔回 >刷新㈤I 二定戏修旧… :粘贴快捷方式⑸GitGUIHereGitBashHere共享旧 >出GitClone-.IjGitCreaterepositoryhere...宅TortoiseGit 》点JSVNChetkout...卷TortoiseSVN新建(W) >「性困 |当然,如果初学有需要,可以再安装language汉化包(./software目录下)进入tortoiseGit-设置-语言

因为我们的项目代码是放在服务器或者版本仓库里的,所以接下来我们需要对tortoiseGit进行一些简单的配置使用;用过SVN的朋友应该不陌生在这里我们可以通过命令行gitbash来简单设置grtb4fJhgilbHln-益君霜18mslIgilbasliTRgilb€ish使用gitb^Ehwillowsghbaili中文凯同gilbashdownlgdgilb^EhherepgilbB5h|打开后出现命令行,这里的gitbash里是可以写cmd命令也可以写linux命令的,这是非常号的地方,并且有高亮提示,习惯linux指令,命令行操作就会顺手输入以下内容(每行结束后,回车):

gitconfig--global“用户名”gitconfig--globaluser.email“邮箱地址Jack&DESKTOP-M-GG7UEK■工1GW64~£gitconfiig--global"yangjw,Fbash:gitconfi'g:commancJrotFoundJack&DEKTOP-M-GG7UEKKILGrt'64~Sgitconfig--globaluser,name"yHngjw'FJack&DESKTOP-M-GG7UEKMIhGW64~这里注意要空格以上命令中,用户名为邮箱中的用户名(一般为姓名拼音首字母小写缩写);邮箱地址为你的邮箱。设置好后,可以输入gitconfig--list命令,来显示设置结果:当然也可以通过右键菜单,tortoiseGit-settings-Git直接设置匚:Settings-TortciiseGieGeneral榴"ConwxtMenuS«-tExtendMenu有:Dialegs1;二Dialogs2-S3Dialags;3GhtCcmfigsource⑥EffectiveUwerInfoILocalJOGlobalesQSystem3F,iHookSeGeneral榴"ConwxtMenuS«-tExtendMenu有:Dialegs1;二Dialogs2-S3Dialags;3GhtCcmfigsource⑥EffectiveUwerInfoILocalJOGlobalesQSystem3F,iHookSenpls:•*ksueTrackerIntegradonv姐IconDtferlays「任IconSet,团OverlayHandlef3V©hFtworfcL-®Email*5%Diff廿iewcr工“,MeugeTool…普SavedIDa3TortoiseGitEllame至TortoheGitUDiff4.AdvancedNarrie:EmdihSigningkeyinherit.inheritAutoCrLfconvertHAutoCdfSafeCrLf;inheritRQu口lePmthGlobaEdrtglobal.gitconfigEditlocalgiVconfigEditBtgHconfigEditlystemwidegifconfii:Viewsystemwidegitconfig->生成SHHKey这里的密钥,是在代码递交或者clone的时候用来给仓库验证身份的,我们需要生成一个唯一可识别的key;1、这里采取命令行的方式如下在GitBash中输入如下内容,用来生成SSHKey:ssh-keygen-trsa-C"your_email”命令中,your_email为你的email地址。输入该命令后,将会提示要求输入$5卜key的存放路径,建议直接回车,这时,存

放路径将会放在用户目录下的.ssh文件夹中(一般为:C:\Users\用户名.ssh\id_rsa)。随后将会要求输入密码,此时建议为空,即直接回车,提示重复输入时,也直接回车。该操作将生成id_rsa和id_rsa.pub两个文件。具体如下图所示:汉 -2、当然也有菜单的图形操作,同样我们利用git自带的puttygen点击generate生成文件,接着出现(这里特别注意我们在(C:\Users\用户名.ssh\id_rsa)找到两个文件,就是刚生成的key文件,,这里我们还需要对它进行转化,生成.ppk的文件,后面才可以方便使用;主员共享妾■v牛a此电脑,本至威盅(U]>用户》Jacka■v牛修氤三期Git使用余程image□id_rssJid_rea.pubGit使用余程image□id_rssJid_rea.pub2017/5/1617:192017/5/1617:19文件pue文吟孤姓者樵我们可以这样理解,id_rsa.pub是要递交到仓库的公钥,而id_rsa则是用于打开锁的私钥,用于匹配;

✓启动puttygen(在开始菜单的搜索框中输入puttygen,既可以搜索到该应用程序)启动后,界面如右图所示。✓点击load按钮将刚才最先生成的ssh中的密钥id_rsa文件导入,然后弹出对话框提示导入成功,接着点击saveprivatekey来保存ppk文件,最后在gitclone的对话框中加载ppk文件即可,连接的时候会提示输入git用户的密码,输入一下即可gitclone的配置文件。>此电脑>本地磁母(匚:〕>用户>Jack>>ssh

京人名称 “ 施WTOC\o"1-5"\h\zPlid_r5a £017/Plid_r5a,pub 2017/yangjw.ppk 2Q17/✓得到如下, 成功!->在服务器上或Gitlab上管理项目代码

Git和svn一样在管理版本的时候需要提供url地址这里应要求以gitlab为例,为大家演示;那么什么是git,github,gitlab呢?我们在这里要有个明确的概念>git是一种版本控制系统,是一个命令,是一种工具>gitlib是用于实现git功能的开发库>github是一个基于git实现的在线代码仓库,包含一个网站界面,向互联网开放>gitlab是一个基于git实现的在线代码仓库软件,你可以用gitlab自己搭建一个类似于github一样的系统,一般用于在企业、学校等内部网络搭建git私服那么明确了这些概念以后,我们就需要有一个自己的gitlab账号点击进入:http:〃6/users/signin(此为王总提供注册登陆IP)GitILabCommunityEditionSigninRegrsterGitILabCommunityEditionSigninRegrsterOpensourcesoftwareto《ollwlwrdtee&dePHHwrdManageGilrepasil□描土wilhfine-grainedmerestcontrols曲ntkeqnyourcodeSKure.Performnxkreviews-a*identinnc?mlliiborMimwiftmerger«]uesT£,Eachprojeacan曲。haveanI的晚iradk#r aMkl,PHHwrdUR«nemberme口drflreceireboofilrnwlionurmi,曰tunmnne如果你有github的账号,可以用它直接登陆,也可以重新注册一个,登陆以后的状态是这样子的;以我本地为例C:\Users\Jack\.ssh,在此目录下,用记事本或者notepad++打开之前生成的id_rsa.pub,将其文件内容,全部复制到3丫输入框中。Title建议为电子邮件地址(复制完Key后,会自动填充为Email地址)。点击AddKey。此时,你将拥有一个SSHKey,以后,在操作Git时,系统会自动使用私钥id_rsa来与服务器上的公钥进行认证匹配。LHJfefse™jehrladwithJddr-ja>i-;LHJfefse™jehrladwithJddr-ja>i-;3口ME_.aILorjMEnGEto1hi3p<^irctCwiiiiaiidHe 削$2.点击create1.为了得到一个ssh或http地址,用于上传托管项目,这里我们以我的账号为例,新增一个测试项目,点击右上角的+号创建项目;・Projects Sflarch + #Fl白Hew 的油pdlJl 隗C^meerImportjw%r户碌ct1*omjmRngi Wip疗I9E buuli fSST^KESWarJbohauac dipanddntpnojurtiurdar4iqlamprarrraEnjisa?'CroibangraipIrr^tn附咏41仃gm■HCrii-Lfa4白Hbuctair4^£rlLabEurnG:Ciaag■Ccdv蠢Q^kugH祠1 [hRtpcbyLiRl ^Lud■■partProjwldwculpflorlop1lo«uM?运上^用于鹿睛项目M5让:*下碉口回用,,1出网LwdG强APriratePhjjed-arewsfjrbe 卿$0〃E«diww<\O(JIniumdTh«prajrdcmtbedonrdbyarr^^ggedhuierOQFtibhcTluprajtaanb»dc-riiK!sllhdnfmHMfUEunkuCreateprpiedThereposllerythdproject1$ewiptyhdkV丘lx^ouumnuuihIh&rTiuEinqcamn^ndlinn 0触bAkin.得到ssh地址:git@jH3:garvisjack/usegit.git;(该为测试地址)http协议的地址:h廿p://garvisjack@jH3/garvisjack/usegit.git,左边的箭头可以选择―但是我们最终需要输入的提取地址一定是包含IP的,这里是重点最终用于获取的地址:http://garvisjack@6/garvisjack/usegit.git.让我们新增一个测试的文档

忖白咽|痴困胴工。忖白咽|痴困胴工。新建成功!.新建一个branch分支Branch分支在实际应用中是git版本管理的核心,通过master分流出来的支线来操做代码;以下步骤

4-W'inJ-*.1Uhlawwbi3MiJi-SMi4-W'inJ-*.1Uhlawwbi3MiJi-SMi到这里我们已经完成了,软件的配置,gitlab的登录注册,密钥设置,接下来我们就开始本地上传或下载项目文件了。->开始使用git.Clone(与SVN里的checkout类似)Clone是Git的常用操作,用于将服务器上的版本库复制到本地。右键点击需要复制的文件夹,选择Clone,按照下图中的操作即可:点击ok即clone成功出现页面Shaw|og |▼ |CkMEShaw|og |▼ |CkME~~守设闩-GitSEEamdFfd.— □XIP25T fl:弓b>tes)rarct-i;Caunt:ing^ijacta:£jdanti.reirctcU口■口厂”式曰objectf1 (5/5),den-?reiateiIrtal石(delta*%rtused9(delta.CommitCommit是指将本地修改,应用到本地的版本库中。注意,和SVN不同,这里Commit不会上传到服务器。PushPush是将本地的版本库复制到服务器端。Commit成功后,在弹出的对话框左下角选择Push可以在本地Commit之后,直接Push到服务器中。在我们递交修改内容的时候,我们这里需要明确一个概念;master是仓库托管的主要项目,这里名字叫usegit,我们可以为它创建分支yangjw,分支在第一个版本是和master一模一样的,我们本地所有的修改都

是递交到分支上进行测试的,最后通过在merge分支代码,合并冲突,才递交到master上,这是git版本的主要流程,那我们来递交一下新的project1.首先在任意本地目录,新建文件夹,用于存储仓库内容右键菜单出现,选择新建repositoryTOC\o"1-5"\h\z演⑼ > I奥府s式g >笳瞄球司 >I刷新旧三定义文件决时.,祜贴阳㈱肖辱名M Clrl+ZL4GiEOUNHere陞GitBashHereTOC\o"1-5"\h\z共享(H) >在GitClone...IGitCreaterepoEitoryhere...yTartoiscGit 》FSVNCheckout..5TartoiEeGVN 》格理即 >屈性IR) E2得到大小名称 修改日期 类型大小,git ^017/6/614:35文件夹3.准备一个要上传的文档写好内容壁文S*下荒卜音三『本地磁埋(C:)爵皿卷壁文S*下荒卜音三『本地磁埋(C:)爵皿卷(P:)宕称 “ 幄长闩期 里型 K,git 2017;6/&15:43 文件来teittd 2&17/6/b16:07 /工文栏beEttzt-记事本文件旧我娼㈤归沁)堂拓助W)|大彖戢是前外工程师如瓜!I

TOC\o"1-5"\h\zW具1EM痢外 ?一।Ed'twithNotepad-+打开方式(H) >H上传手jwps云烟Ca4+!nnc共享出} >Ca4+!nnc俺 TortniseGit 〉电使用2隔除土用电使用M60强力删除fM2健行杉)理天文件上边会出现一个+号打开(。)三印明茶体E;上噎到肓直云笔记J阖JU到国融忤内“,4阖)□到"tsEtzip"JJ日其也目腼令|一1EditwithNotepad4-4三汗方司HJ出上畤到内里云文档共豆1H1口GitC'ommrt-亨"rnasiEr",..>>笠用3屎闺力腾除¥茨用3炭胭行木马云有条王茨用38酒理石捷奈单第TartoiseGi:粕TDrtDise&VN还厘以前的扳本N)IInewbrandsC!\U5.ers\JackXDe&ktDpXGitlBS1^^^it\test.txt-Commit-To-rt...— □XIInewbrandsCorrinriitto!mastertestMessage;test确认递交的信息,版本,时间这里的递交和5vn不同是在本地的,不需要联网的画AmendLastCommit0SetautiiordatE0Setauthor2017/6/6画AmendLastCommit0SetautiiordatE0Setauthor2017/6/6□/W:56:35:yangjw<yangjw^rl3,cri>Showdifftolastcom□FlesetAddSnit2/1gned-off-byChangesmade(double-clickonfilefordi用:Check:AllNone ionedVersionedAddedDeletedHofHiedFilesSubmodulesTarntxtensionTarntxtensionbtatusLinesaddedLinesremovea回[Sjtest,txtModified11IIShawUnversionedFiles□Donotajtnselectsubmodules1filesselectedj1filestotal□ShamWholeProjectIIShawUnversionedFiles□Donotajtnselectsubmodules1filesselectedj1filestotal□ShamWholeProject□MessageonlyViewPatdi>>费'C:\LIse-rs\Jack\DeEkt&p\Git-GiftCominand...(63m岂@费'C:\LIse-rs\Jack\DeEkt&p\Git-GiftCominand...(63m岂@2017/6/616:10'SuccessPush...Abortchsngedj.1insertio-n(+)node1&0644test.tx.t月娣器上去也是git的一个优点1filecreate[master4acO42a]testDate:TueTun614:56:352017用吕BeCOHimit成功后,需要叩5才能到但是这里我们要注意,为了避免gitpush失败并产生冲突,我们需要2S方裁屋>usegifc名曲.gitfailconfig腐testtwt£]震赋交档在我们推酱COEE计弁push文件之前,需要护当前太地分支上口ul1力不则军辱否有理寒,有蜥再点击PU犯才行 201□iffDiffwithpreviousveriianShowIcagShawRrflogBifowteReferenceEDaemonRevisiongraphRc-po-browserCh€-ckformodif»Mrion51a1atpBisectitart@Rer|00Revert...LGeanup...嗥Svfltch/Oieizllcout^丫Merge...»CngaeeBranch丁CjneateTag,..0Eseport..中Add.™0G-ubmodule-Add.„,EreaitePatchSerial™.#ApplyPatchSerial..^飞1SrHin^x嗖H而@About分旬S括(P)R籽iEj三11空附&旧“,粘贴旧祜斯快擒0■闰狼玷型格定山} CtrkZaGtajiHm6

温馨提示

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

评论

0/150

提交评论