Git-简单使用教程(个人独享版)
- 格式:doc
- 大小:1.31 MB
- 文档页数: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,这样可以取长补短。
一、->在WIN10下开始安装GIT客户端(包括git和tortoiseGit) 在使用教程中包含了必要的软件安装程序,版本是比较新的,可自行使用;
操作系统:Windows 10 git版本:git version 2.13.0.
git客户端:TortoiseGit-2.4.0.2-64bit(官网下的) TortoiseGit语言包:汉化包,利于入门理解 . 页脚 a. 安装git环境软件(全部安装选项均采用默认,路径自行选择)
基本一路默认next即可 安装成功后,空白处右键可以发现git bash .
页脚 b. 安装TortoiseGit(全部安装选项均采用默认,路径自行选择) .
页脚 此处安装完后点击finish会自动重启,请注意勾选 安装后右键菜单可以发现
当然,如果初学有需要,可以再安装language汉化包(./software目录下) 进入tortoiseGit-设置-语言 . 页脚 因为我们的项目代码是放在服务器或者版本仓库里的,所以接下来我们需要对tortoiseGit进行一些简单的配置使用;用过SVN的朋友应该不陌生 在这里我们可以通过命令行git bash来简单设置
打开后出现命令行,这里的git bash里是可以写cmd命令也可以写linux命令的,这是非常号的地方,并且有高亮提示,习惯linux指令,命令行操作就会顺手
输入以下内容(每行结束后,回车): . 页脚 git config --global user.name “用户名” git config --global user.email “邮箱地址”
这里注意要空格 以上命令中,用户名 为邮箱中的用户名(一般为姓名拼音首字母小写缩写);邮箱地址 为你的邮箱。设置好后,可以输入 git config --list 命令,来显示设置结果: 当然也可以通过右键菜单,tortoiseGit-settings-Git 直接设置 .
页脚 ->生成SHH Key 这里的密钥,是在代码递交或者clone的时候用来给仓库验证身份的,我们需要生成一个唯一可识别的key;
1、这里采取命令行的方式如下 在Git Bash中输入如下内容,用来生成SSH Key: ssh-keygen -t rsa -C "your_email" 命令中,your_email为你的email地址。 输入该命令后,将会提示要求输入ssh key的存放路径, 建议直接回车 ,这时,存放路径将会放在用户目录下的.ssh文件夹中(一般为: C:\Users\用户名.ssh\id_rsa)。 随后将会要求输入密码,此时建议为空,即直接回车,提示重复输入时,也直接回车。该操作将生成id_rsa和id_rsa.pub两个文件。具体如下图所示:
2、当然也有菜单的图形操作,同样我们利用git自带的puttygen .
页脚 点击generate生成文件 ->接着出现(这里特别注意,不要等待,请随机移动鼠标生成编码) .
页脚 我们在(C:\Users\用户名.ssh\id_rsa)找到两个文件,就是刚生成的key文件, ->这里我们还需要对它进行转化,生成.ppk的文件,后面才可以方便使用;
我们可以这样理解,id_rsa.pub是要递交到仓库的公钥,而id_rsa则是用于打开锁的私钥,用于匹配; .
页脚 ✓ 启动puttygen (在开始菜单的搜索框中输入puttygen,既可以搜索到该应用程序)启动后,界面如右图所示。 ✓ 点击load按钮将刚才最先生成的ssh中的密钥id_rsa文件导入,然后弹出对话框提示导入成功,接着点击save private key来保存ppk文件,最后在git clone的对话框中加载ppk文件即可,连接的时候会提示输入git用户的密码,输入一下即可
git clone 的配置文件。
✓ 得到如下成功! .
页脚 ->在服务器上或Gitlab上管理项目代码 Git和svn一样在管理版本的时候需要提供url地址 这里应要求以gitlab为例,为大家演示; 那么什么是git,github,gitlab呢?我们在这里要有个明确的概念 ➢ git 是一种版本控制系统,是一个命令,是一种工具 ➢ gitlib 是用于实现git功能的开发库 ➢ github 是一个基于git实现的在线代码仓库,包含一个网站界面,向互联网开放 ➢ gitlab 是一个基于git实现的在线代码仓库软件,你可以用gitlab自己搭建一个类似于
github一样的系统,一般用于在企业、学校等内部网络搭建git私服
那么明确了这些概念以后,我们就需要有一个自己的gitlab账号 点击进入:http://192.168.1.66/users/sign_in (此为王总提供注册登陆IP)
如果你有github 的账号,可以用它直接登陆,也可以重新注册一个,登陆以后的状态是这样子的; .
页脚 ->然后我们需要在gitlab上递交保存我们之前生成的公共密钥
以我本地为例C:\Users\Jack\.ssh,在此目录下,用记事本或者notepad++打开之前生成的id_rsa.pub,将其文件内容,全部复制到Key输入框中。Title建议为电子邮件地址(复制完Key后,会自动填充为Email地址)。 点击Add Key。此时,你将拥有一个SSH Key,以后,在操作Git时,系统会自动使用私钥id_rsa来与服务器上的公钥进行认证匹配。 . 页脚 1.为了得到一个ssh或http地址,用于上传托管项目,这里我们以我的账号为例,新增一个测试项目,点击右上角的+号创建项目;
须知:这里如果我们把项目设置成private,那么clone的时候是需要输入账户密码的 2.点击create
得到ssh地址: git@jr13:garvisjack/usegit.git; (该为测试地址) http协议的地址:http://garvisjack@jr13/garvisjack/usegit.git,左边的箭头可以选择 但是我们最终需要输入的提取地址一定是包含IP的,这里是重点 最终用于获取的地址: http://garvisjack@192.168.1.66/garvisjack/usegit.git 3.让我们新增一个测试的文档 .
页脚 ->新建一个文件或者别的
新建成功! 4.新建一个branch分支 Branch分支在实际应用中是git版本管理的核心,通过master分流出来的支线来操做代码;以下步骤 . 页脚 到这里我们已经完成了,软件的配置,gitlab的登录注册,密钥设置,接下来我们就开始本地上传或下载项目文件了。
->开始使用git 1.Clone(与SVN里的checkout类似) Clone是Git的常用操作,用于将服务器上的版本库复制到本地。右键点击需要复制的文件夹,选择Clone,按照下图中的操作即可: