Git 提交针对没有分支的标签

2024-04-05

如果我在没有创建分支的情况下查看源代码的标记版本,Git 会指示我根本不与任何分支关联。不过,很高兴让我进行更改并检查它们。这些变化去哪里了?如果我切换回“master”,它们就会消失(被 master 中的内容覆盖),而且我似乎无法再次找到它们。是什么赋予了?如果 Git 允许我针对本质上是匿名的分支提交更改,我肯定可以取回它们吗?


因为你的提交不在任何分支上,除非您使用其 SHA1 签出该特定提交,否则您无法在工作目录中看到它。您可以通过查看来找到提交reflog它跟踪您从存储库中签出的内容的更改。如果你的标签是XXX你会看到类似的东西:

$ git reflog
7a30fd7... HEAD@{0}: checkout: moving from master to XXX
ddf751d... HEAD@{1}: checkout: moving from 96c3b0300ccf16b64efc260c21c85ba9030f2e3a to master
96c3b03... HEAD@{2}: commit:  example commit on tag XXX, not on any branch
7a30fd7... HEAD@{3}: checkout: moving from master to XXX

这告诉你你必须的 SHA1checkout为了在工作目录中查看您的提交。

$ git checkout 96c3b03
Note: moving to "96c3b03" which isn't a local branch
If you want to create a new branch from this checkout, you may do so
(now or later) by using -b with the checkout command again. Example:
  git checkout -b <new_branch_name>
HEAD is now at 96c3b03... example commit on tag XXX, not on any branch
$ git checkout -b newbranch
$ git branch                #lists all branches
    feature1
    master
  * newbranch

一开始这一切对我来说有点奇怪,直到我意识到 gitcheckout放置所有项目文件截至特定提交进入我的文件系统(工作目录)。实际上,工作目录充当本地 Git 存储库上的浏览器。所以您的更改尚未被覆盖在存储库中,当您签出母版时,它们只是没有显示在您的工作目录中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Git 提交针对没有分支的标签 的相关文章

  • 如何使用它们的更改来解决选择冲突?

    My git cherry pick FOO产生了冲突 我可以检查冲突的文件并删除之间的行 lt lt lt lt lt lt lt and 以及冲突标记本身 但我希望有一种更简单的方法 我觉得svn等同于选择theirs conflict
  • Hudson 结帐卡在“git fetch”处

    我正在使用 git 版本 1 6 2 2 1669 g7eaf8 在 Hudson 1 314 上使用 Hudson Git 插件 0 7 3 当我触发构建时 Hudson 执行 git fetch 但它永远不会返回 我把一只卡在那里14天
  • 如何在 git diff 中按标点符号拆分单词?

    我对以下命令有一些运气 git diff color words lt gt space lt gt 但它似乎没有在第一个字符类中正确地否定方括号 我试过这个 git diff color words lt gt space lt gt 为
  • git分支和标签如何存储在磁盘中?

    我最近检查了我工作中的一个 git 存储库 其中有 10 000 多个分支和 30000 多个标签 新克隆后 存储库的总大小为 12Gigs 我确信没有理由拥有 10000 个分支机构 所以我相信它们会占用磁盘中相当大的空间 所以 我的问题
  • Git 中的专有+开源设置? (例如铬/铬)

    您将如何设置一个拥有专有版本和开源版本 例如 Chrome 和 Chromium 的代码存储库 对于 Git 您会使用两个分支还是两个存储库 您如何使 私有 版本与开源版本保持同步 如果是我 我会有两个存储库 这样 您就可以对每个版本拥有不
  • Git - 推送到远程存储库中的远程跟踪分支

    当简单地做git push到远程存储库 其master分支得到更新 对于非裸存储库来说 这是不希望出现的情况 最近的 Git 版本显示的警告消息清楚地表明了这一点 我希望能够推送到远程存储库 并拥有其之一远程追踪分支进行更新 稍后 当我登录
  • Gerrit 安装后无法克隆所有项目存储库

    我有一个新设置的 Gerrit 实例 目前只有两个存储库 所有项目 binutils 测试 尝试克隆所有项目时 我收到以下错误 git clone ssh user hostname 29418 All Projects Initializ
  • 使用 PHP DOMDocument 更改标签属性值

    我想用 PHP DOMDocument 更改标签属性的值 例如 假设我们有这行 HTML a href http foo bar Click here a 我将上面的代码加载到 PHP 中 如下所示 dom new domDocument
  • git在Windows和Linux之间切换后强制刷新索引

    我有一个Windows和Linux共享的磁盘分区 格式 NTFS 它包含一个 git 存储库 约 6 7 GB 如果我只使用Windows or 只使用Linux操作 git 存储库一切正常 但是每次切换系统的时候git status命令将
  • 在 git 子模块中签出分支

    如何从子模块内更改分支 当我跑步时git branch从子模块内 我看到以下输出 gt git branch HEAD detached from 229a7b2 master 我如何将自己置于一个新的分支上 喜欢development 只
  • 如何在 Windows 上向 git 存储库添加符号链接?

    我使用 GitHub 的电子环境编译 OS X 的二进制文件 并希望将输出添加到 git 存储库 我试过 git add error readlink sulu app Contents Frameworks Electron Framew
  • git subtree pull -P 不管 总是合并冲突

    问题 即使我没有进行任何更改 每次尝试拉入子树时 我都会遇到合并冲突 我在做什么 In 子树仓库 Make some changes git commit am Changes made git push origin master In
  • DVCS命令的统一

    当处理多个 开源 项目时 多个版本控制系统开始出现问题 虽然它们共享共同的操作 但我经常在输入时犯错误hg add反而git add 我记得前段时间看到过一个项目 通过提供基本命令以统一的方式访问不同的源代码控制软件提交 ci add等在外
  • 颠覆和混合修订:破坏构建的秘诀?

    在使用 TFS 一段时间后 我刚刚回到 subversion 一般来说我已经很退出了 有一件事情我记得不一样 我不记得能够从过时的工作副本中提交 或者也许我的记忆力让我无法理解 过时 的定义 我认为 过时 意味着自从我上次更新工作副本以来
  • 忽略 git 中的本地配置文件

    Rails 应用程序中有一些本地文件 属于我们存储库的一部分 我希望 git 忽略它们 基本上 我希望 git 忽略我对 config environments 目录和 config application rb 文件中的任何内容所做的所有
  • 代表 Git 存储库的数学结构是什么

    我正在学习 Git 如果我能描述一下代表 Git 存储库的数学结构 那就太好了 例如 它是一个有向无环图 它的节点代表提交 它的节点有代表分支等的标签 每个节点最多一个标签 没有标签使用两次 我知道这个描述不正确 我只是想解释我正在寻找的内
  • 如何从 android.googlesource.com 或 github.com 下载单个目录?

    我想下载 https android googlesource com platform frameworks base git master tools aapt https android googlesource com platfo
  • 如何将分支逻辑持久化到数据库中?

    我们正在构建一个供内部使用的调查引擎 我想知道如何将问题分支逻辑持久化到数据库中 任何机构之前做过这件事或者对数据库模式有什么想法吗 如果用户给出答案 我们需要根据添加到问题的逻辑跳到下一个问题 每个问题可以添加多个逻辑 For eg Qu
  • git pull,忽略深度,如何不拉取整个历史记录?

    我们有一个巨大的多 GB git 存储库 主要是二进制对象 克隆需要几天时间 实际的主分支 没有历史记录 只有大约 20MB 所以我想 深度为 1 的 git 克隆就是解决办法 然而 现在我需要将某人的更新拉到主服务器 我们没有分支 当我拉
  • Git:显示分支之间的差异,忽略合并的提交

    我的存储库历史记录看起来像这样 x y z branch a b c d e master 我想获得 branch 完整历史记录的单个差异 即 像 git diff 输出 我不想要像 git log p 产生的一大堆差异 而不包括任何从 m

随机推荐

  • 多个requestAnimationFrame性能

    如果我要做多个动画 添加多个动画在性能方面是否可以 requestAnimationFrame回调 F 例如 function anim1 animate element 1 function anim2 animate element 2
  • 角度拦截器 - 类型“Observable”不可分配给类型“Observable>”

    我刚刚从一篇文章中复制了这段代码 import Injectable from angular core import HttpEvent HttpInterceptor HttpHandler HttpRequest HttpErrorR
  • 日期间隔不应超过 20 天

    我有起始日期和截止日期 如果用户输入起始日期和截止日期 它们之间的差距不应超过 20 天 即 如果用户从 date 30 08 2018 到 date 26 09 2018 输入 差距超过 20 天 所以我想使用 jquery 显示警报 下
  • 移动构造函数和初始化列表

    我想为需要成为值类型的特定类型实现移动构造函数 无复制构造函数 boost unordered map 我们称这种类型为Composite Composite有以下签名 struct Base Base stuff no default c
  • 如何在 SQL Server 中创建唯一的随机字母数字序列

    我想将唯一的随机字母数字序列作为数据库表的主键 序列中的每个字符都是字母 a z 或数字 0 9 我想要的示例 kl7jd6fgw zjba3s0tr a9dkfdue3 我想创建一个可以处理该任务的函数 您可以使用唯一标识符 https
  • React Native TouchableOpacity onPress 问题

    我有一个简单的图标按钮 如下所示 class SideIcon extends Component render return
  • 使用递归将列表分解为子列表

    我正在尝试使用类型声明编写一个函数 Int Bool gt Int 我希望该功能仅添加Ints 到同一个嵌套子列表 如果布尔值是True 但是如果布尔值是False 我想要Int与下一个相关联True要添加到 a 的布尔值new子列表 例如
  • 内存不足,无法继续运行 Java 运行时环境

    我的系统有 4 GB RAM 运行 Windows 操作系统 我安装了 VMWare 来设置具有 2GB RAM 的 Ubuntu 虚拟机 在 Ubuntu 中 我打开 Eclipse 并开始编码 Eclipse 开始一次又一次关闭 我开始
  • 如何将 HostControl 实例传递给 TopShelf 中的自定义主机服务?

    This 问题已在其他地方提出 https stackoverflow com questions 28740658 how to detect if topshelf is running in console mode 但没有迹象表明我
  • 如何更新 SQL 中的选择性字段(保留部分字段不变)?

    我想用两个日期更新记录 如果没有要更新的新值 则保持现有数据不变 这是一个示例表记录 id last foo last bar 1 2010 05 30 2010 05 30 我正在使用的查询 UPDATE sampledates SET
  • Android 使用 P12 证书签署数据

    因此 我搜索了一段时间 但找不到真正需要的东西 因为出现的每个结果都与签署实际的包有关 所以基本上我所做的就是 Web 服务受到会话管理器的保护 为了获取会话号 需要将 GUID 发送到 Web 服务 在 iOS 方面 我们能够获得此设置
  • 通过 AWS API Gateway 集成模板使用 DynamoDB 的 lastEvaluatedKey 进行扫描

    我使用 AWS APIGateway 集成模板直接扫描 dynamoDB 而不是编写单独的 lambda 来处理请求 响应 但是 扫描有 1MB 的限制 这导致扫描仅限于部分数据 根据文档 我们应该重新扫描 直到找到匹配项或使用 lastE
  • 如何将 .csv 文件导入 R?

    我有这个 csv 文件 ID GRADES GPA Teacher State 3 C 2 Teacher3 MA 1 A 4 Teacher1 California 我想做的是使用 R 统计软件读取文件 并将标题读入某种列表或数组 我是
  • 有没有具有这些功能的轻量级 JDBC 包装器?

    命名参数 就像 Spring 中的 JdbcTemplate JDBC 连接设置的 XML 配置 用于查询的 XML 配置 类似休眠的东西
  • ParDo 中的侧面输出 | Apache Beam Python SDK

    由于该文档仅适用于 JAVA 我无法真正理解它的含义 它指出 虽然 ParDo 始终生成一个主输出 PCollection 作为 apply 的返回值 但您也可以让 ParDo 生成任意数量的附加输出 PCollection 如果您选择有多
  • 如何从 SQL Server 更改跟踪获取所有已更改表的列表

    如何获取在给定版本之后有任何跟踪更改的所有表 已启用更改跟踪 的列表 这将返回自上一个跟踪版本以来已更改的所有表的列表 set nocount on We want to check for changes since the previo
  • 计算段:距绝对地址的偏移量

    我可以计算一个地址Segment Offset as Segment 0x10 Offset 但如何计算相反的情况呢 例如 我怎样才能从0xF4170 to F400 0170和来自0xACF04 to ABCD 1234 您需要具有起始基
  • 为什么控件不想被删除?

    我试图删除 winform 面板中包含的所有控件 但它们只是不想被删除 其中一些被删除 有些则没有 我已经尝试了两种方法 但什么也没有 foreach foreach Control controlEntry in this content
  • int [] 和 int* 作为函数参数的区别

    这是一道面试题 有什么区别int and int 它们都是函数的输入参数 f int a int b 我的回答 For f 它们具有相同的功能 第一个是第一个元素的开始位置a 第二个指向一个int 但是 如何在不传递其他参数的情况下区分它们
  • Git 提交针对没有分支的标签

    如果我在没有创建分支的情况下查看源代码的标记版本 Git 会指示我根本不与任何分支关联 不过 很高兴让我进行更改并检查它们 这些变化去哪里了 如果我切换回 master 它们就会消失 被 master 中的内容覆盖 而且我似乎无法再次找到它