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

下载本文档

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

文档简介

Windows下Git和Gitlab简单教程-jack杨俊伟在使用之前,因为大家之前用的都是SVN集中式的版本控制系统,而git是分布式的,但在使用和功能上差异没有特别大,这里需要先简单了解它们的差异。1) 最核心的区别Git是分布式的,而Svn不是分布的。Git跟Svn一样有自己的集中式版本库和Server端,但Git更倾向于分布式开发,因为每一个开发人员的电脑上都有一个Local Repository,所以即使没有网络也一样可以Commit,查看历史版本记录,创建项 目分支等操作,等网络再次连接上Push到Server端。2) Git把内容按元数据方式存储,而SVN是按文件:因为,.git目录是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签,分支,版本记录等。.git目录的体积大小跟.svn比较,你会发现它们差距很大。3) Git没有一个全局版本号,而SVN有。Git的内容的完整性要优于SVN: GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。Git下载下来后,在OffLine状态下可以看到所有的Log,SVN不可以。4) SVN必须先Update才能Commit,忘记了合并时就会出现一些错误,git还是比较少的出现这种情况。5) 克隆一份全新的目录以同样拥有五个分支来说,SVN是同时复製5个版本的文件,也就是说重复五次同样的动作。而Git只是获取文件的每个版本的 元素6) 提交(Commit)在SVN,当你提交你的完成品时,它将直接记录到中央版本库。当你发现你的完成品存在严重问题时,你已经无法阻止事情的发生了。如果网路中断,你根本没办法提交!而Git的提交完全属於本地版本库的活动。而你只需“推”(git push)到主要版本库即可。Git的“推”其实是在执行“同步”(Sync)。所以得出,SVN的特点是简单,只是需要一个放代码的地方时用是OK的。Git的特点版本控制可以不依赖网络做任何事情,对分支和合并有更好的支持。管理项目用SVN,管理代码用Git,这样可以取长补短。1、 -在WIN10下开始安装GIT客户端(包括git和tortoiseGit)在使用教程中包含了必要的软件安装程序,版本是比较新的,可自行使用;操作系统:Windows 10git版本:git version 2.13.0.git客户端:TortoiseGit--64bit(官网下的)TortoiseGit语言包:汉化包,利于入门理解a. 安装git环境软件(全部安装选项均采用默认,路径自行选择)基本一路默认next即可安装成功后,空白处右键可以发现git bashb. 安装TortoiseGit(全部安装选项均采用默认,路径自行选择)此处安装完后点击finish会自动重启,请注意勾选安装后右键菜单可以发现当然,如果初学有需要,可以再安装language汉化包(./software目录下)进入tortoiseGit-设置-语言因为我们的项目代码是放在服务器或者版本仓库里的,所以接下来我们需要对tortoiseGit进行一些简单的配置使用;用过SVN的朋友应该不陌生在这里我们可以通过命令行git bash来简单设置 打开后出现命令行,这里的git bash里是可以写cmd命令也可以写linux命令的,这是非常号的地方,并且有高亮提示,习惯linux指令,命令行操作就会顺手输入以下内容(每行结束后,回车):git config -global “用户名”git config -global user.email “邮箱地址” 这里注意要空格以上命令中,用户名为邮箱中的用户名(一般为姓名拼音首字母小写缩写);邮箱地址为你的邮箱。设置好后,可以输入gitconfig-list命令,来显示设置结果:当然也可以通过右键菜单,tortoiseGit-settings-Git直接设置-生成SHH Key这里的密钥,是在代码递交或者clone的时候用来给仓库验证身份的,我们需要生成一个唯一可识别的key;1、这里采取命令行的方式如下 在Git Bash中输入如下内容,用来生成SSH Key:ssh-keygen -t rsa -C your_email命令中,your_email为你的email地址。输入该命令后,将会提示要求输入sshkey的存放路径,建议直接回车,这时,存放路径将会放在用户目录下的.ssh文件夹中(一般为: C:Users用户名.sshid_rsa)。随后将会要求输入密码,此时建议为空,即直接回车,提示重复输入时,也直接回车。该操作将生成id_rsa和id_rsa.pub两个文件。具体如下图所示:2、 当然也有菜单的图形操作,同样我们利用git自带的puttygen 点击generate生成文件-接着出现(这里特别注意,不要等待,请随机移动鼠标生成编码)我们在(C:Users用户名.sshid_rsa)找到两个文件,就是刚生成的key文件,-这里我们还需要对它进行转化,生成.ppk的文件,后面才可以方便使用;我们可以这样理解,id_rsa.pub是要递交到仓库的公钥,而id_rsa则是用于打开锁的私钥,用于匹配; 启动puttygen(在开始菜单的搜索框中输入puttygen,既可以搜索到该应用程序)启动后,界面如右图所示。 点击load按钮将刚才最先生成的ssh中的密钥id_rsa文件导入,然后弹出对话框提示导入成功,接着点击save private key来保存ppk文件,最后在git clone的对话框中加载ppk文件即可,连接的时候会提示输入git用户的密码,输入一下即可gitclone的配置文件。 得到如下成功!-在服务器上或Gitlab上管理项目代码Git和svn一样在管理版本的时候需要提供url地址这里应要求以gitlab为例,为大家演示;那么什么是git,github,gitlab呢?我们在这里要有个明确的概念 git 是一种版本控制系统,是一个命令,是一种工具 gitlib 是用于实现git功能的开发库 github 是一个基于git实现的在线代码仓库,包含一个网站界面,向互联网开放 gitlab 是一个基于git实现的在线代码仓库软件,你可以用gitlab自己搭建一个类似于github一样的系统,一般用于在企业、学校等内部网络搭建git私服那么明确了这些概念以后,我们就需要有一个自己的gitlab账号点击进入:6/users/sign_in (此为王总提供注册登陆IP)如果你有github 的账号,可以用它直接登陆,也可以重新注册一个,登陆以后的状态是这样子的;-然后我们需要在gitlab上递交保存我们之前生成的公共密钥以我本地为例C:UsersJack.ssh,在此目录下,用记事本或者notepad+打开之前生成的id_rsa.pub,将其文件内容,全部复制到Key输入框中。Title建议为电子邮件地址(复制完Key后,会自动填充为Email地址)。点击Add Key。此时,你将拥有一个SSH Key,以后,在操作Git时,系统会自动使用私钥id_rsa来与服务器上的公钥进行认证匹配。1.为了得到一个ssh或http地址,用于上传托管项目,这里我们以我的账号为例,新增一个测试项目,点击右上角的+号创建项目;须知:这里如果我们把项目设置成private,那么clone的时候是需要输入账户密码的2.点击create得到ssh地址: gitjr13:garvisjack/usegit.git; (该为测试地址)http协议的地址:http:/garvisjackjr13/garvisjack/usegit.git,左边的箭头可以选择但是我们最终需要输入的提取地址一定是包含IP的,这里是重点最终用于获取的地址: http:/garvisjack6/garvisjack/usegit.git3. 让我们新增一个测试的文档-新建一个文件或者别的新建成功!4. 新建一个branch分支Branch分支在实际应用中是git版本管理的核心,通过master分流出来的支线来操做代码;以下步骤到这里我们已经完成了,软件的配置,gitlab的登录注册,密钥设置,接下来我们就开始本地上传或下载项目文件了。-开始使用git1.Clone(与SVN里的checkout类似)Clone是Git的常用操作,用于将服务器上的版本库复制到本地。右键点击需要复制的文件夹,选择Clone,按照下图中的操作即可:点击ok即clone成功出现页面2.CommitCommit是指将本地修改,应用到本地的版本库中。注意,和SVN不同,这里Commit不会上传到服务器。PushPush是将本地的版本库复制到服务器端。Commit成功后,在弹出的对话框左下角选择Push可以在本地Commit之后,直接Push到服务器中。在我们递交修改内容的时候,我们这里需要明确一个概念;master是仓库托管的主要项目,这里名字叫usegit,我们可以为它创建分支yangjw,分支在第一个版本是和master一模一样的,我们本地所有的修改都是递交到分支上进行测试的,最后通过在merge分支代码,合并冲突,才递交到master上,这是git版本的主要流程-那我们来递交一下新的project1.首先在任意本地目录,新建文件夹,用于存储仓库内容右键菜单出现,选择新建repository2.得到3. 准备一个要上传的文档写好内容文件上边会出现一个+号但是这里我们要注意,为了避免git push失败并产生冲突,我们需要git fetch:相当于是从远程获取最新版本到本地,不会自动mergegit pull:相当于是从远程获取最新版本并merge到本地这里因为是测试,所以我直接git pull 了,在实际使用中,git fetch更安全一些因为在merge前,我们可以查看更新情况,然后再决定是否合并再次点击commit-push-点击Add New/Save递交成功,展示登录网页的gitlab,选择repository,yangjw的分支到这里我们就完成了push一个修改的内容到分支上,如果主线m

温馨提示

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

评论

0/150

提交评论