【Git】01.Git的介绍和安装
一、Git简介git是分布式代码版本管理工具CVS(最早的开源免费集中式)SVN(修正了CVS稳定性的问题)是集中式代码版本管理工具速度慢必须联网才能使用集中式集中式版本控制系统版本库是集中存放在中央服务器的而干活的时候用的都是自己的电脑所以要先从中央服务器取得最新的版本然后开始干活干完活了再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆你要改一本书必须先从图书馆借出来然后回到家自己改改完了再放回图书馆。集中式版本控制系统最大的毛病就是必须联网才能工作如果在局域网内还好带宽够大速度够快可如果在互联网上遇到网速慢的话可能提交一个10M的文件就需要5分钟。分布式分布式版本控制系统根本没有“中央服务器”每个人的电脑上都是一个完整的版本库这样你工作的时候就不需要联网了因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库那多个人如何协作呢比方说你在自己电脑上改了文件A你的同事也在他的电脑上改了文件A这时你们俩之间只需把各自的修改推送给对方就可以互相看到对方的修改了。在实际使用分布式版本控制系统的时候其实很少在两人之间的电脑上推送版本库的修改因为可能你们俩不在一个局域网内两台电脑互相访问不了也可能今天你的同事病了他的电脑压根没有开机。因此分布式版本控制系统通常也有一台充当“中央服务器”的电脑但这个服务器的作用仅仅是用来方便“交换”大家的修改没有它大家也一样干活只是交换修改不方便而已。Git发展历史Git结构Git 官网和 Logo官网地址GitLogoGit 的优势大部分操作在本地完成不需要联网完整性保证(提交每条数据进行hash运算)尽可能添加数据而不是删除或修改数据分支操作非常快捷流畅(1因为用快照,2每个分支只是创建一个指针)与 Linux 命令全面兼容()Git 安装 windows安装Windows系统Git安装教程详解Git安装过程 - 黑暗时代地表人 - 博客园 Windows安装(linux直接yum install -y git),加-y自动选择y全自动2.下面默认设置就行:下图(下一步)3.这个的下一步也使用默认 直接下一步4.选择默认的文本编辑器5.然后修改环境变量(选第一完全不修改),下面选项第二个(是被认为安全的)6.选择客服端本地库和远程库连接方式(1通用连接2使用Windows连接方式)7.选择换行符的方式(1检查文件时LF 转为 CRLF 提交相反)8.选择终端(1Git默认终端(是liunx命令)2选择Windows终端(wind命令))9.使用默认(选择第二个需要安装.NETframework c4.5.1以上版本)NET framework安装失败解决方案:.NET framwork安装失败的解决办法-百度经验10.11.(1加载他的git Bash终端2查看更新的文档)Git和代码托管中心代码托管中心的任务维护远程库局域网环境下:GitLab 服务器外网环境下:GitHub、码云二、注册和使用Gitee(码云)Gitee码云是目前国内最大代码托管平台用于个人和企业开发的git服务器代码托管平台。注册码云的时候Gitee - 基于 Git 的代码托管和研发协作平台把邮箱设置好获取自己的用户名(等一会windows上的git需要用到)三、上传主机SSH公钥到gitee代码托管平台1.问题的引入由于本地主机和远程gitee仓库之间使用ssh协议进行加密传输所以需要将本地主机的ssh公钥放到gitee个人账户下当你推送本地主机上的仓库代码到远程gitee仓库时会进行ssh密文校验只有将本地主机的ssh公钥放到gitee上此时gitee仓库才会允许你进行远程推送更新。2.创建SSH Key第一步在windows系统的用户主目录(用户\xxx)下看看有没有.ssh目录如果没有这个目录就手动新建一个.如果有再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件如果已经有了可直接跳到下一步。如果没有windows下打开Git bash终端执行如下命令创建SSH Keyssh-keygen -t rsa -C 你在gitee设置的邮箱 //一路回车全部选择默认创建SSH Key成功之后去用户主目录里找到.ssh目录里面有id_rsa和id_rsa.pub两个文件这两个就是SSH Key的秘钥对id_rsa是私钥不能泄露出去id_rsa.pub是公钥可以放心地告诉任何人。第二步添加SSH公钥到gitee用户登录gitee--》选择账号设置--》点击SSH公钥添加公钥(把自己的公钥打开id_rsa.pub文件获得公钥添加到下面的输入框即可)四、在gitee创建远程仓库1.问题的引入一般情况下我们会在gitee代码托管平台上创建一个远程git仓库该仓库可以作为备份又可以让其他人通过该仓库来协作比如你在本地电脑上写完代码之后你可以提交到远程git仓库上你的同事需要用到这份代码的时候直接在gitee远程库下载该代码即可。2.创建流程进入gitee官网个人主页点击创建仓库按钮输入自己仓库的名字和介绍然后选择创建创建成功之后会有一个网址链接https://gitee.com/用户名/xxxxx.git生成(xxxxx是远程代码仓库的路径)五、从gitee远程库克隆第一步windows上新建一个文件夹demo(可以是任意名字)鼠标右键选择Git Bash Here,此时会使用git终端打开demo这个文件夹第二步使用命令git clone从gitee上克隆你之前新建的远程仓库到本地命令如下git clone Gitee - 基于 Git 的代码托管和研发协作平台用户名/xxxxx.git执行完毕之后在你本地文件夹demo下就可以见到该仓库了(就是你在gitee上的那个文件夹)六、工作区和暂存区1.问题的引入目前我们只是从gitee远程库中 将指定的仓库远程库下载到本地电脑上接下来需要在该文件夹中添加我们的文件然后最后写完该文件之后 推送到远程库gitee上2.理解概念工作区所谓的工作区就是你在电脑里能看到的目录比如刚才我们克隆到本地demo里面的文件夹就是工作区版本库(暂存区)工作区有一个隐藏目录.git这个不算工作区而是Git的本地版本库。Git的本地版本库里存了很多东西其中最重要的就是称为stage或者叫index的暂存区还有Git为我们自动创建的第一个分支master以及指向master的一个指针叫HEAD(见如下截图)我们把文件往Git版本库里添加的时候是分两步执行的第一步是用git add把文件添加进去实际上就是把文件修改添加到暂存区第二步是用git commit提交更改实际上就是把暂存区的所有内容提交到当前分支。因为我们创建Git版本库时Git自动为我们创建了唯一一个master分支所以现在git commit就是往master分支上提交更改。你可以简单理解为需要提交的文件修改通通放到暂存区然后一次性提交暂存区的所有修改。