• 【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组件传参总结来了(建议收藏)

  • 相关阅读:
    kafka安装部署详解
    结合Command以AOP方式实现事务
    vhost-user
    NVD API
    AES 简介 以及 C# 和 js 实现【加密知多少系列】
    how2heap2.31学习(2)
    阿里一面,说说你了解zookeeper的应用场景有哪些?
    Synchronized锁的使用
    leetcode 第454题.四数相加II
    Java配置36-搭建Nginx服务器
  • 原文地址:https://blog.csdn.net/qq_59012240/article/details/127643533