代码版本控制工具git的安装与使用

410 阅读7分钟

一、Git概述

1.1 Git历史

  • Linus在1991年创建了开源的Linux,从此,世界各地的优秀程序员都在为linux的源代码开始奉献自己的一份力量
  • 2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码,效率非常差
  • 2002年,BitMover公司决定将自己的商业版本控制系统BitKeeper让Linus团队免费使用,以维护Linux的源代码
  • 2005年,Linus团队的一个小伙试图破解BitKeeper的协议,被发现了,于是BitMover公司怒了,收回了Linux社区的免费使用权
  • 接下来,Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!
  • 2008年,基于的Git的GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub
  • 现在,Git已经成为最流行的分布式版本控制系统

1.2 git使用过程

1.3 Git工作流程

一般工作流程如下:

1.创建本地仓库(或者从远程仓库中克隆资源作为本地仓库)

2.从本地仓库中checkout代码然后进行代码修改(自动执行)

3.先将代码提交到暂存区(其实就是将自己写的代码添加到git管理的意思)

4.提交代码到本地仓库,本地仓库中保存修改的各个历史版本

5.在修改完成后,需要和团队成员共享代码时,可以将代码push到远程仓库

二、 Git的安装

2.1 Git软件下载

外国下载网站:git-scm.com/download/wi…,根据自己的windows电脑的配置选择合适的安装包,由于是外国线路,下载速度较慢,不推荐

国内淘宝镜像下载地址:npm.taobao.org/mirrors/git… ,根据自己的windows电脑的配置选择合适的安装包,下载速度较快,推荐,但是镜像windows系统有。

2.2 Git软件安装流程

1)查看 GNU 协议,可以直接点击下一步

2)选择 Git 安装位置,要求是非中文并且没有空格的目录,然后下一步。

3)Git 选项配置,推荐默认设置,然后下一步。

4)Git 安装目录名,不用修改,直接点击下一步。

5)Git 的默认编辑器,建议使用默认的 Vim 编辑器,然后点击下一步。

6)默认分支名设置,选择让 Git 决定,分支名默认为 master,下一步

7)修改 Git 的环境变量,选第一个,不修改环境变量,只在 Git Bash 里使用 Git。

8)选择后台客户端连接协议,选默认值 OpenSSL,然后下一步。

9)配置 Git 文件的行末换行符, Windows 使用 CRLF, Linux 使用 LF,选择第一个自动转换,然后继续下一步

10)选择 Git 终端类型,选择默认的 Git Bash 终端,然后继续下一步。

11)选择 Git pull 合并的模式,选择默认,然后下一步

12)选择 Git 的凭据管理器,选择默认的跨平台的凭据管理器,然后下一步。

13)其他配置,选择默认设置,然后下一步。

14)实验室功能, 技术还不成熟, 有已知的 bug,不要勾选,然后点击右下角的 Install

按钮,开始安装 Git。

15)点击 Finsh 按钮, Git 安装成功!

右键任意位置,在右键菜单里选择 Git Bash Here 即可打开 Git Bash 命令行终端。

在 Git Bash 终端里输入 git --version 查看 git 版本,如图所示,说明 Git 安装成功。

三、 Git使用

3.1 建立远端仓库

1)国外代码托管平台github:github.com/,

缺点:国外网站,需要挂梯子才能使用,无梯子访问速度较慢

优点:开源社区活跃人数较多,优质项目较多,开源框架维护更新较多

2)国内代码托管平台gitee:gitee.com/

优点:中文网站,访问速度较快

3)搭建公司自己的gitlab私服(后续会在开一帖来写gitlab私服的搭建) 优点:代码不对外开放,安全性高

下面以gitee创建远端仓库为例,记录远端仓库的建立

1)注册gitee账号,注册完成登录,点击加号新建仓库

创建完仓库

image.png

2)回到自己的windows电脑,在自己的除系统盘外的盘开辟一块空间用于本地代码库。

image.png

3)鼠标右键,gitBash here,使用命令创建git仓库,初始化本地仓库

git init 

4)设置git全局配置

Git 全局设置:
git config --global user.name "xxx"--用户名
git config --global user.email "xxx"--注册gitee账号时使用的邮箱

5)gitee仓库密钥的配置

  1. 右键【Git Bash Here】打开终端命令工具
  2. 生成新的SSH密钥,在命令工具中执行代码,邮箱可以随意填写
   ssh-keygen -t rsa -C "xxx@qq.com(自己的邮箱)"

3.设置密码,不需要设置时直接回车即可

一般的,默认存储地址为C:\Users\用户名.ssh,如图

4、根据图文提示找到存储密钥的文件,.pub文件中就是生成的公钥,将该公钥配置到码云、GitLab、Github等代码托管网站或服务器上(一般代码托管网站配置SSH公钥都在个人设置(Settings)中,找到SSH关键字,将当前获得的公钥填入,title(标题)随意填写,保存就行)。若果把密钥文件存储在了默认文件夹,找起来会比较麻烦,可以直接命令查找:

cat ~/.ssh/id_rsa.pub
  1. 测试公钥是否配置成功(输入以下命令,会自动在.ssh目录生成known_hosts文件把私钥配置进去)
  2. 若未配置,会提示是否将对应私钥配置到known_hosts文件,请输入yes;若已配置,则提示successfully

3.2 拉取远端代码到本地仓库

git仓库支持两种连接协议:

  • HTTPS:是以安全为目标的HTTP通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性
  • SSH:安全外壳协议,通过密钥对方式对传输的数据进行加密,实现免密登录

使用https协议拉取远端代码

git clone https://xxxx.git(远端仓库地址)

使用ssh协议拉取远端代码

git clone git@github.com:xxxx.git(远端仓库地址)

3.3提交本地代码到远端仓库

命令行方式代码提交流程:

  • Workspace:工作区(本地代码存放位置)
  • Index / Stage:暂存区(add操作后代码存放位置)
  • Repository:仓库区(或本地仓库)
  • Remote:远程仓库(最终代码存放位置)

由上图可知整个代码的提交与下载流程: 第一步 先将自己需要提交的文件add到index索引中

git add .(当前目录的所有文件到暂存区)

第二步 将index索引中的文件commit到本地仓库

git commit -m ""(提交暂存区到仓库区,引号内容为提交注释,便于项目成员查看,将索引的当前内容与描述更改的用户和日志消息一起存储在新的提交中)

第三步 再提交时拉取一下要提交的分支的最新代码

git pull origin master 这是下拉代码,将远程最新的代码先跟你本地的代码合并一下,如果确定远程没有更新,可以不用这个,最好是每次都执行以下,完成之后打开代码查看有没有冲突,并解决,如果有冲突解决完成以后再次执行1跟2的操作

第四步 将代码推至远端仓库的master分支

git push origin master

3.4 解决代码冲突

代码冲突分为两种: 第一种是在我们提代码过程中,有同事已经在我们的这个分支提了代码,我们在提代码之前拉取该分支最新的代码时,在本地出现了代码冲突,我们在本地将代码冲突合并后重新提交代码。

第二种是我们将代码提交到远端仓库了,在进行代码merge是发生了冲突,解决办法就是在远端在线将冲突 的代码进行合并,或者将代码回滚,本地解决冲突以后重新提交。