Git分支管理的原理 & 工作区、暂存区的分支共享

这篇具有很好参考价值的文章主要介绍了Git分支管理的原理 & 工作区、暂存区的分支共享。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 提交对象

首先,Git是版本控制系统,所以Git的存储基本数据单元是不同的版本对象,对应的就是不同的commit。换句话说,我们每commit一次,就是一个版本,也就是一个Git存储单元。


2. 分支管理

2.1 只有 main 分支时

当只有main分支时,在修改过文件且进行git add 和 git commit 操作后,目前的文件就会形成一个版本上传到本地的版本库 (Local Repository),如下图所示,commit 1 是第一个版本,commit 2 是第二个版本,commit 3 是第三个版本同时也是当前最新版本。我们每在 main 分支提交一次,main 分支的指针都会向右移动一步,commit 版本链也会越来越长。图中的 HEAD 是一个特殊的指针,指向当前所在的分支。

Git分支管理的原理 & 工作区、暂存区的分支共享,Git 专栏,git

2.2 创建分支 dev 时

当我们创建新的分支时,其实是创建一个新的引用,这个引用指向某个提交对象。比如,我们现在在 commit 3 后想创建一个新的分支 dev 开发点别的功能。新创建的 dev 分支会指向 commit 3,可以理解为新创建的分支 dev 基于当前分支 main,和当前分支指向相同的提交对象 commit 3,共享相同的历史,即无论是在 main 还是 dev,使用 git log 查看提交日志都会显示一样的内容。

Git分支管理的原理 & 工作区、暂存区的分支共享,Git 专栏,git


3. 工作区、暂存区的共享

有个很有趣的现象是,比如在 commit 3 这里,我们一次性创建了 3 个分支。我们在 dev 3 分支修改了 readme.txt 文件,如果马上切换到 dev 1、dev 2 或 main 都会看到一样的修改,或者说在 dev 3 修改后 git add 但不 git commit,同样可以在 dev 1、dev 2 或 main 看到一样的修改。也就是说在没有 commit之前,main 、dev 1、 dev 2、 dev 3 共享同一个工作区和暂存区。

Git分支管理的原理 & 工作区、暂存区的分支共享,Git 专栏,git

如果在 dev 3 分支修改 readme.txt 后马上 git add 和 git commit,那么修改内容就无法在 main、dev 1 和 dev 2 中看到了,其中的原因相信聪明的你应该能很好地解释啦,欢迎在评论区留下你的解释。

Git分支管理的原理 & 工作区、暂存区的分支共享,Git 专栏,git


4. Question

这里考考大家,欢迎大家踊跃参与投票或在评论区留下你的答案:

如下图所示,在 dev 1 和 dev 3 分支使用 git log 命令获取到的日志内容一致吗?什么原因呢?

Git分支管理的原理 & 工作区、暂存区的分支共享,Git 专栏,git文章来源地址https://www.toymoban.com/news/detail-778179.html

到了这里,关于Git分支管理的原理 & 工作区、暂存区的分支共享的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux】:初识git || centos下安装git || 创建本地仓库 || 配置本地仓库 || 认识工作区/暂存区(索引)以及版本库

    Git 原理与使用 课程⽬标 • 技术⽬标:掌握Git企业级应⽤,深刻理解Git操作过程与操作原理,理解⼯作区,暂存区,版本库的含义 • 技术⽬标:掌握Git版本管理,⾃由进⾏版本回退、撤销、修改等Git操作⽅式与背后操作原理 • 技术⽬标:掌握Git分⽀管理,从分⽀创建,切换,

    2024年02月05日
    浏览(65)
  • git 将其它分支的文件检出到工作区

    主要是使用如下命令: 覆盖与 pathspec 匹配的文件的内容。当没有给出 tree-ish (通常是一个commit)时,用 index 中的内容覆盖工作树。当给出 tree-ish 时,用 tree-ish 处的内容同时覆盖 index 和工作树。 由于前一个的合并失败,index 可能包含未合并的条目。默认情况下,如果您试图从

    2023年04月09日
    浏览(42)
  • Git——工作区管理

    如何管理工作目录,以便用户可以更高效地新建提交。如何在处理工作区和暂存区文件的过程中修复错误,以及如何修复最近一次提交记录中的问题;同时还会了解到如何安全地使用暂存机制和多个工作目录处理工作流中的中断问题。 主要内容有以下几点: 忽略文件:特意

    2024年02月03日
    浏览(43)
  • 01 - 工作区、暂存区、版本库、远程仓库 - 以一次连贯的提交操作为例

    查看所有文章链接:(更新中)GIT常用场景- 目录 以一次连贯的提交操作为例。 Git的工作区也就是我们平时编辑代码的目录文件夹。 新建一个kongfu_person.txt文件,工作区的变化:

    2024年02月13日
    浏览(36)
  • Power BI 傻瓜入门 17. 共享和Power BI工作区

    本章内容包括: 设置与Power BI服务的共享和协作 使用监控和性能工具加快业务运营 通过查看数据联机排除数据故障 在经历了跨数据源的整个数据生命周期、构建可视化、了解DAX和发布报告之后,作为power BI的高级用户,您的下一步是与业务中的所有利益相关者共享桌面上的

    2024年02月08日
    浏览(45)
  • Git--本地修改文件暂存工作区和恢复至工作区

    当克隆一个项目到本地之后,经常需要修改配置文件,那如何做到下次再更新代码,不重复修改配置文件。可通过暂存工作区内容进行恢复。 注意:默认恢复的就是最新一次stash 说明:会展示所有的stash列表 git stash apply 暂存名 说明:通过查看stash列表,把指定的stash记录删除

    2024年02月11日
    浏览(70)
  • git工作区删除了文件想更新回来

    删除了本地dev分支的几个文件,本地dev对应远端dev分支,想更新回来 法一、如果你知道文件夹名称或者文件名称: 法二、工作区的修改,其中就包括删除,这其实都会被git认为正常的操作,即使是你误操作 而针对你的操作,git提供了回退操作,如下图 法三,直接将本地库整

    2024年02月11日
    浏览(63)
  • idea将文件移出git的工作区

    之前使用idea在commit项目时候,忘记添加.gitignore文件了,导致提交了很多无关的文件进入远程仓库,网上有教程是使用git - reset head 方法,但是这个方法只是将上一次的commit文件覆盖当前的暂存区文件,而非移除暂存区文件,所以没有用   但是在idea工具好像并没有提供将文件移

    2024年02月13日
    浏览(47)
  • git在工作区和本地库的操作命令

     本文介绍一些开发时,常用的在工作区和本地库之间的操作命令 工作树的修改内容要提交到本地库,首先需要先添加到缓存区stage,在commit到本地库。 你开发了一段时间,可能已经忘记了修改过那几个文件 可以使用 git status 查看 工作区和缓存区的内容 ,即修改过的文件和

    2024年02月15日
    浏览(46)
  • VS Code工作区用法

    背景 VS Code可以通过\\\"文件/打开文件夹\\\"来打开本地项目,但是想要打开多个项目便需要来回切换,比较费劲。此时就可以使用工作区功能,将不同的项目放置到同一个工作区中,这样切换项目的时候就会非常方便。 操作方法 打开其中一个项目 执行命令:文件 》 打开文件夹

    2024年01月25日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包