首页 > 其他分享 >执行Git命令,Git都干了什么?图文带你从基础到进阶了解Git都做了什么

执行Git命令,Git都干了什么?图文带你从基础到进阶了解Git都做了什么

时间:2024-09-10 15:23:20浏览次数:11  
标签:origin git 进阶 图文 Git 提交 main 分支

0.前言

Git仓库中的提交记录保存的是你目录下的所有的文件快照,就像把这些文件粘贴复制了一样,但是要比粘贴复制更加优雅。Git希望提交记录尽可能保持轻量,因此在每次提交的时候,它不会盲目的去复制你的整个目录。条件允许的情况下,它会将当前版本与仓库中的上一个版本进行对比,并把所有的差异打包到一起作为一个提交记录。

Git还保留了每次的提交记录,这是为什么大多数节点都有parent节点的原因。同样对于项目组来说维护Git提交历史对大家都有好处。

我相信这篇文章能够让你学会Git 90%+的基础操作和了解到一些进阶命令。

多图警告!!! ⚠️ ⚠️ ⚠️

1. Git基础篇

1.1 Git Commit

Git 提交(Git Commit)是 Git 版本控制中的一个基本操作,它会创建项目当前状态的快照,保存对仓库中文件所做的更改。它记录了修改、添加和删除操作,使开发者能够跟踪项目历史并进行有效的协作。

当我们在本地执行命令git commit时,会生成一条新的记录,并且最新记录会指向上一个记录即parent节点,同时分支(branch)指针将会自动移动。

执行Git命令,Git都干了什么?图文带你从基础到进阶了解Git都做了什么_git操作过程

1.2 Git Branch

Git 分支(Git Branch)是指向 Git 仓库中特定提交(commit)的一个轻量级指针。它允许开发者同时在不同的功能或项目版本上工作,而不会干扰主代码库。

Git的分支也是非常轻量的,它们仅仅是简单的指向某一个提交记录而已,所以即使创建再多的分支也不会造成存储和内存上的压力。

多用分支能够将不同的工作逻辑分解到不同的分支,这要比维护单个特别臃肿的分支容易多。

如何创建和使用分支呢?

  • 可以通过命令git branch 创建一个新的分支。
  • 可以通过命令git checkout 切换分支。

例:git checkout foo 切换到分支foo上面,然后就可以在foo分支commit新的代码。

下面我们模拟:

  1. 创建新分支bugFix。git branch bugFix
  2. 切换到分支bugFix上。git checkout bugFix
  3. 在bugFix分支上commit一次代码。git commit

执行Git命令,Git都干了什么?图文带你从基础到进阶了解Git都做了什么_git命令_02

好的经过上面三步,我们成功创建了分支bugFix,并在bugFix分支完成了一次提交。

main*表示我们当前所处的分支是main分支。

1.3 Git Merge

Git 合并(Git Merge)是 Git 版本控制中的一个命令,用于将不同分支的更改合并到一个单一的分支中。它会创建一个新的提交(commit),将这些更改整合在一起,通常用于将功能分支合并回主开发分支。

好的,看到这里相信你已经学会了如何去提交代码,如果创建分支并使用它们

标签:origin,git,进阶,图文,Git,提交,main,分支
From: https://blog.51cto.com/u_16304605/11971840

相关文章

  • 【Python进阶】学习Python从入门到进阶,详细步骤,就看这一篇。文末附带项目演练!!!
    详细的Python学习路线1.Python基础Python安装和环境配置:学习如何在你的操作系统上安装Python,并配置开发环境。变量和数据类型:学习如何定义变量,以及Python中的基本数据类型,如整数、浮点数、字符串等。Python数据类型运算符和表达式:学习Python中的运算符,如算术运算符、比......
  • raw.githubusercontent.com未能解析” 解决方案
    1.操作场景通过windows11powershell下载依赖包2.报错信息如下irm:未能解析此远程名称:'raw.githubusercontent.com'所在位置行:1字符:27+&([scriptblock]::Create((irm"https://win11debloat.raphi.re/")))+~~~~~~~~~~~~~~~~~~~~~~~~......
  • css进阶语法
    css进阶语法选择器:在大括号之前写的内容,就是选择器,找到你要选择的内容标签选择器:用标签的名字来进行页面元素、标签、标记的选择id选择器:用html标签中的id属性来进行选取的方式例子#p1{color:aqua;}#p2{color:red;}#p3{color:aquamarine;}<body> <pid="p1">周杰伦</p......
  • python进阶————上下文管理器跟生成器
    上下文管理器与生成器前言一、回顾open语法二、自定义上下文管理器三、生成器3.1创建生成器的两种方式3.1.1生成器推导式3.1.2yield关键字3.2使用生成器生成批次数据四、property属性4.1充当装饰器用法4.2修饰类变量总结前言我们之前学习了文件操作的......
  • git 回退之前某次提交
    git版本回退,用于误提交或者版本回退一、回滚到之前的某次版本,且该版本后的提交都不要(用于版本回退)1)、首先查看版本号,用gitlog命令查看要回退的版本对应的commitIdcommit17829e208cd170928fd0f3adb3f3bde1b1eabb762)、回滚到之前某个版本(执行后本地已经回滚,远程仓库还......
  • 用 SQL 写的俄罗斯方块游戏「GitHub 热点速览」
    在开始介绍上周热门开源项目之前,要插播一条开源新闻:Nginx已正式迁移至GitHub。近日,Nginx官方宣布将Nginx开源项目,从Mercurial迁移至GitHub代码托管平台,并开始接受PR形式的贡献、Issues问题反馈和功能请求等,GitHub上的Nginx项目终于“活”了!GitHub地址→github......
  • 【408DS算法题】039进阶-判断图中路径是否存在
    Index题目分析实现总结题目对于给定的图G,设计函数实现判断G中是否含有从start结点到stop结点的路径。分析实现对于图的路径的存在性判断,有两种做法:(本文的实现均基于邻接矩阵存储方式的图)1.图的BFSBFS的思路相对比较直观——从起始结点出发进行层次遍历,遍历过程......
  • git修改本地代理
    1.本人在使用gitclone别人的写好的第三方库时遇到,fatal:unabletoconnecttogithub.com:github.com[0:20.205.243.166]:errno=Unknownerror即无法克隆GitHub上的库。2.解决思路:在一些网络环境可能会禁用GitHub需要使用的端口号,所以使用本地代理,也许可以进行克隆。3.解......
  • Python编程 - 进阶面向对象
    目录前言一、多态(一)多态的示例(二)多态的优势(三)总结二、静态方法(一)定义(二)特点(三)总结三、类属性(一)定义(二)类属性和实例属性的区别(三)使用场景(四)总结四、类方法(一)类方法的特点(二)定义类方法(三)使用场景(四)总结五、类对象(一)创建类对象(二)类对象的特性(三)类对象的使......
  • 小红书虚拟赛道,0成本变现单日200+,3分钟生成图文【附教程】
    在小红薯做虚拟产品是一个有潜力的赛道,变现真的是很不错,操作起来也非常简单,做《小红书小学资料项目》0成本变现单日200+,这其实是一个老项目了,但又有新人复出且拿到了结果。项目内容很简单,一句话概括就是**小红书售卖小学教辅资料,**把用户引到私域进行转化再成交。为什么要......