IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 【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 "你的邮箱"

注意 :如果使用了 --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

在这里插入图片描述

4.5.2 创建新分支

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

git branch  分支名称

在这里插入图片描述

4.5.3 切换分支

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

git checkout  login

在这里插入图片描述

4.5.4 分支 的快速创建和切换

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

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

在这里插入图片描述

4.5.5 合并分支

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

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

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

在这里插入图片描述

4.5.5 删除分支

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

git branch -d 分支名称

在这里插入图片描述

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

4.5.6 遇到冲突时的分支合并

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

在这里插入图片描述

5- 案例附图

  • 操作 (演练)

在这里插入图片描述

  • 创建新分支

在这里插入图片描述

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

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

  • 组员提交文件

在这里插入图片描述

  • 组长合并组员文件

在这里插入图片描述

  • 组长上传一个新的文件

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

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

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


往期传送门

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

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

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-11-05 00:46:29  更:2022-11-05 00:47:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 3:51:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计