当前位置:   article > 正文

【Git】Git基础操作一文详解,入门易懂(附图和案例)_git操作实例

git操作实例

【Git】Git基础操作一文详解,入门易懂(附图和案例)


1- Git简介

  1. Git是目前世界上最先进的分布式版本控制系统(没有之一)。
  2. 作者:linus,linus系统的创始人
  3. 解决问题:代码的版本管理 和 团队分工协作

1.1 SVN的差异比较

  • 传统饿版本控制系统(如SVN)是基于差异的版本控制。它们存储的是一组基本文件和每个文件随时间逐步累积的差异
  • 好处:节省磁盘空间
  • 缺点:耗时,效率低,在每次切换版本的时候,都需要在基本文件的基础上,应用每个差异,从而生成目标版本对应的文件。

1.2 Git 的特性

  • 直接记录快照,而非差异比较

在这里插入图片描述

  • 近乎所有操作都是本地执行

在这里插入图片描述

1.3 Git三个区域

  • 工作区 (处理工作的区域)
  • 暂存区 (已完成的工作的临时存放区域,等待被提交)
  • Git仓库(最终的存放区域)

1.4 Git的三种状态

  • 已修改 modified

表示修改了文件,但还没将修改的结果放到暂存区

  • 已暂存 staged

表示对已修改文件的的当前版本做了标记,使之包含在 下次提交的列表中

  • 已提交 committed

表示文件已经安全地保存在本地的Git仓库中

在这里插入图片描述

1.5 Git 工作流程

在这里插入图片描述

2- 安装并配置

大家可以去Git的官网去下载

在这里插入图片描述

2.1 配置用户信息

安装完Git之后,要做的第一件事技术设置自己的用户名和邮件地址,因为通过Git对项目进行版本管理的时候,Git需要使用这些基本信息,来记录是谁对项目进行了操作

 git config --global user.name "你的名字或昵称"
 git config --global user.email "你的邮箱"
  • 1
  • 2

注意 :如果使用了 --global 选项,那么该命令只需要运行一次,即可永久生效。

3- Git 基础操作

3.1 获取Git仓库方法

以下两种方式都能够在自己的电脑上得到一个可用的Git仓库

  • 将尚未进行版本控制的本地目录转换位Git仓库
  • 从其它服务器克隆一个已存在的Git仓库

3.2 在现有目录种初始化仓库

如果自己有一个尚未进行版本控制的项目目录,想要用Git来控制它

在这里插入图片描述

  • 执行 git init 命令将当前的目录转化为Git仓库
  • 注:git init 命令会创建一个名为 .git的隐藏目录,这个 .git目录就是当前项目的Git仓库,里面包含了 初始的必要文件,这些文件是Git仓库的必要组成部分

3.3 Git操作的终极结果

让工作区中的文件都处于“未修改”的状态

在这里插入图片描述

3.4 检查文件的状态

可以使用 git status 查看文件处于什么状态,例如:我这个处于zql分支上,没有什么文件要提交的,工作树很干净;说明我已经提交成功了,证明工作区所有的文件都处于"未修改" 的状态,没有任何文件需要被提交。

git status -s 是以精简的方式显示文件的状态

在这里插入图片描述
在这里插入图片描述

3.5 Git版本库

3.5.1 git add添加到暂存盘
  • git add my.txt 添加 my.txt 到暂存盘
  • git add *.txt 添加 .txt 类型的文件到暂存盘
  • git add . 添加任意类型的文件到暂存盘

在这里插入图片描述
在这里插入图片描述

3.5.2 git checkout xxx 从暂存盘取回到工作区
  • git checkout my.txt 从暂存盘取回 my.txt 到工作区
  • git checkout *.txt 从暂存盘取回.txt 类型的文件 到工作区
  • checkout . 从暂存盘取回 任意类型的文件 到工作区

3.5.3 !!!必须先添加到暂存盘,再添加到版本库**
  • git add . 添加到暂存盘
  • git commit -m "提示语句" 添加版本库

在这里插入图片描述

  • git log 查看版本
  • git reflog 查看相关版本

在这里插入图片描述

  • git reset --hard 版本号 切换版本

在这里插入图片描述

3.6 推送到远程

  • git push -u origin "master" 首次
  • git push origin "master" 推送
  • git push -f origin "master" 强制用本地替换远程

在这里插入图片描述

3.7 拉取远程分支

  • git fetch origin "zql" 拉取远程“zql”分支
  • git checkout zql 切换到本地zql 分支
  • git pull origin "zq" 拉取并合并到本地zql 分支

在这里插入图片描述

在这里插入图片描述

3.8 下载远程到本地

  • git clone 远程地址

在这里插入图片描述

3.9 远程仓库

  • 新建仓库(要去Gitee注册一下账号,这里就不介绍了)

在这里插入图片描述

  • git remote add origin 仓库地址 添加远程仓库

在这里插入图片描述

  1. 添加到远程仓库
    git remote add origin 仓库地址
  1. ​添加到版本库
    git add .
    git commit -m "提示"
  1. 推送到远程(第一次推送时的命令)
    ​git push -u origin “master”
  1. 第二次推送
    git push origin "master"

4- Git分支

4.1 分支的概念

分支就是科幻电影里面的平行宇宙,当你正在电脑面前学习Git 的时候,另一个你正在另一个平行宇宙里努力学习SVN。

如果两个平行宇宙互不干扰,那对现在的你也没啥影响。

不过,在某个时间点,料哪个给平行宇宙合并了,结果,你既学会了Git 又学会了SVN。

4.2 分支在实际开发中的作用

在进行多人写作开发的时候,为了防止互相干扰,提高协同开发的体验,建议每个开发者都基于分支进行项目功能的开发。

在这里插入图片描述

4.3 master 主分支

在初始化本地Git仓库的时候,Git 默认已经帮我们创建了一个名字叫master 的分支,通常我们把这个master分支叫做主分支

在实际工作的时候,master 主分支的作用是:用来保存和记录整个项目已完成的功能代码

因此,不允许程序员直接在master分支上修改代码,因为这样做的风险太高,容易导致整个项目崩溃。

4.4 功能分支

由于程序员不能直接在master 分支上进行功能的开发,所以就有了功能开发的概念。

功能开发指的是 专门用来开发新功能的分支 ,它是临时从master 主分支上分叉出来的,当新功能开发且测试完毕后,最终需要合并到master 主分支上

在这里插入图片描述

4.5 分支基本操作

4.5.1 查看分支列表

使用如下的命令,可以查看当前Git仓库中所有的分支列表:

git branch
  • 1

在这里插入图片描述

4.5.2 创建新分支

使用如下的命令,可以基于当前分支,创建一个新的分支,此时,新分支中的代码和当前分支完全一样:

git branch  分支名称
  • 1

在这里插入图片描述

4.5.3 切换分支

使用如下的命令,可以切换到指定的分支上进行开发:

git checkout  login
  • 1

在这里插入图片描述

4.5.4 分支 的快速创建和切换

使用如下的命令,可以切换到指定名称的分支上,并立即切换到新分支上进行开发:

-b //表示创建一个新分支
checkout // 表示切换到刚才新建的分支上
git checkout  -b 分支名称
  • 1
  • 2
  • 3

在这里插入图片描述

4.5.5 合并分支

功能分支的代码开发测试完毕之后,可以使用如下的命令,将完成后的代码合并到master主分支上:

// 1.切换到master 分支
git checkout master

// 2.在master 分支上运行 git merge 命令,将login 分支的嗲吗合并到master 分支
git merge login
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

4.5.5 删除分支

当把功能分支的代码合并到master 主分支上以后,就可以使用如下的命令,删除对应的功能分支:

git branch -d 分支名称
  • 1

在这里插入图片描述

注意:想删除某一分支,就得确保不在该分支上

4.5.6 遇到冲突时的分支合并

如果在两个不同的分支中,对同一个文件进行了不同的修改,Git就没法干净的合并它们。此时。我们需要打开这些包含冲突的文件然后手动解决冲突

在这里插入图片描述

5- 案例附图

  • 操作 (演练)

在这里插入图片描述

  • 创建新分支

在这里插入图片描述

  • 组员把远程 分支 拉到本地

在这里插入图片描述
在这里插入图片描述

  • 组员提交文件

在这里插入图片描述

  • 组长合并组员文件

在这里插入图片描述

  • 组长上传一个新的文件

在这里插入图片描述
在这里插入图片描述

  • 组长推送新分支,组员拉取分支

在这里插入图片描述
在这里插入图片描述


往期传送门

【百度地图】百度地图的使用方法 和 在vue中如何使用百度地图(超详细)

【Vue】Vue2组件传参总结来了(建议收藏)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/523519
推荐阅读
相关标签
  

闽ICP备14008679号