为什么“git describe”在我的干净 git 存储库副本上显示较旧的标签版本?

2024-01-06

一些背景:

我目前有两个本地 git 存储库,它们指向相同的源/主项目。我有两个 git 存储库的原因是,我有一个干净的主副本,我可以在需要时使用,还有一个副本,我可以在沙箱中应用更改、提交等。这可能有点矫枉过正,但有一些优点对我个人来说,有一个重复的本地 git 副本。

一位同事最初为 1.0.2 创建了一个轻量级标签,但我们删除了它,并将其重新标记为具有相同编号的带注释版本。他们通过 git Push 将更改提交到远程存储库。我在本地 git 实例上拉下了最新的更改。

我们的标签如下:

release-1.0.0
release-1.0.1
release-1.0.2

问题:

这是我无法弄清楚的问题。当我运行“时,我的沙箱存储库显示最新的标签版本(release-1.0.2)”git describe“。这是我所期望的。但是,当我执行“时,我只从中提取的干净的存储库副本显示较旧的标签(release-1.0.1)git describe”。我确认两者都指向起源大师。我做了更多研究,发现了一个堆叠解决方案 https://stackoverflow.com/a/13412713/2532191这让我运行“git cat-file -t”。这是我注意到的差异:

git cat-file -t release-1.0.1 --> tag 
git cat-file -t release-1.0.2 --> commit

当我运行“时,为什么我的干净副本存储库显示较旧的标签版本”git describe“与我的沙箱存储库不同?我可以确认,如果我运行,我可以看到列出的版本 1.0.2”git describe --tags“在干净的回购副本上。


一位同事最初为 1.0.2 创建了一个轻量级标签,但我们删除了它,并将其重新标记为具有相同编号的带注释版本。他们通过 git Push 将更改提交到远程存储库。我在本地 git 实例上拉下了最新的更改。

除非你使用--tags flag, git describe只关心带注释的 https://git-scm.com/book/en/v2/Git-Basics-Tagging#Annotated-Tags(相对于轻的 https://git-scm.com/book/en/v2/Git-Basics-Tagging#Lightweight-Tags)标签。这里,输出git cat-file表明你仍然有旧的release-1.0.2沙盒存储库中的轻量级标签。问题是,默认情况下,git pull它本身不会获取较新的同名带注释标签并用它覆盖较旧的轻量级标签。

要解决该问题,首先通过运行在本地删除轻量级标签

git tag -d release-1.0.2

在您的沙盒存储库中,然后运行

git fetch

(or git pull,如果你知道自己在做什么)。新的release-1.0.2带注释的标签将取代旧的轻量级标签。您可以通过运行来确保这一点git describe or

git cat-file -t release-1.0.2

现在应该输出tag (not commit).

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

为什么“git describe”在我的干净 git 存储库副本上显示较旧的标签版本? 的相关文章

  • git 提交消息的 vim 语法高亮显示 - 自定义 commentchar

    如上所述在这个答案中 https stackoverflow com a 14931661 835945 从 Git 1 8 2 开始你可以使用core commentchar配置值将提交消息注释更改为默认值以外的其他内容 哈希标记或哈希符
  • Git ref master 现在为空,如何恢复?

    我不完全确定发生了什么 但由于某种原因 我的 git 存储库的主引用文件现在是空的 我们在 Dropbox 上托管存储库 所以也许与此有关 但现在我无法从中提取 它是这么说的 Your configuration specifies to
  • 从命令行获取 NuGet.exe 版本

    我想得到NuGet exe使用命令行的版本 我知道我可以按照说明获取作为 Visual Studio 一部分运行的 NuGet 版本here http docs nuget org docs start here nuget faq How
  • Git 中的专有+开源设置? (例如铬/铬)

    您将如何设置一个拥有专有版本和开源版本 例如 Chrome 和 Chromium 的代码存储库 对于 Git 您会使用两个分支还是两个存储库 您如何使 私有 版本与开源版本保持同步 如果是我 我会有两个存储库 这样 您就可以对每个版本拥有不
  • 使用 GIT 自动增加 AssemblyFileVersion

    好吧 我知道这可能不是传统的 但除此之外 我使用 AssemblyFileVersion 作为我的 构建名称 字符串 它的格式如下 File Version information for an assembly consists of t
  • 使用 Git 的 Spring Cloud 配置服务器 - 无法克隆或签出存储库连接超时

    我正在使用 GIT 在 Spring Cloud Config Server 上进行 POC Spring Boot 1 5 3 RELEASE 爪哇1 8 弹簧工具套件https github com kishornpatil https
  • 在两个单独的分支或存储库中管理项目后端和前端?

    我启动了一个移动应用程序项目 该项目将具有服务器端和应用程序本身 所以 在master分支我创建了2个项目myapp server and myapp然后我创建了另外 2 个分支backend and frontend我只想将与它们相对应的
  • 使用 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命令将
  • Windows 版 GitKraken 中的文件名太长

    正如建议的Q22575737 https stackoverflow com a 22575737 6623589 我已经更新了我的注册表并设置了git config system core longpaths true在处理长路径时 问题
  • git subtree pull -P 不管 总是合并冲突

    问题 即使我没有进行任何更改 每次尝试拉入子树时 我都会遇到合并冲突 我在做什么 In 子树仓库 Make some changes git commit am Changes made git push origin master In
  • git 可以与 Xcode 集成吗?

    有没有办法将 git 存储库与 Xcode 内置的 SCM 功能一起使用 Xcode 4 原生支持 git WWDC 2010 上的开发者工具国情咨文演讲 在这里了解更多 Xcode 4 中的新增功能 http developer appl
  • 忽略 git 中的本地配置文件

    Rails 应用程序中有一些本地文件 属于我们存储库的一部分 我希望 git 忽略它们 基本上 我希望 git 忽略我对 config environments 目录和 config application rb 文件中的任何内容所做的所有
  • 重新打包存储库对于大型二进制文件有用吗?

    我正在尝试将大量历史记录从 Perforce 转换为 Git 并且一个文件夹 现在是 git 分支 包含大量大型二进制文件 我的问题是运行时内存不足git gc aggressive 我的主要问题是重新打包存储库是否可能对大型二进制文件产生
  • 代表 Git 存储库的数学结构是什么

    我正在学习 Git 如果我能描述一下代表 Git 存储库的数学结构 那就太好了 例如 它是一个有向无环图 它的节点代表提交 它的节点有代表分支等的标签 每个节点最多一个标签 没有标签使用两次 我知道这个描述不正确 我只是想解释我正在寻找的内
  • git diff - 只显示哪些目录发生了变化

    有没有办法只列出已更改的目录 如果我在 git root 的话 project 我更改的文件是 project subtool file1 project subtool file2 project subtool3 file1 我只是想
  • 如何检测当前的 JSF 版本?

    我正在开发 jsf webapp 现在我需要知道我正在使用什么 JSF 版本 我在哪里可以查到这个 提前致谢 您的意思是 以编程方式 你可以从Package getImplementationVersion http docs oracle
  • git Push over sshfs 失败,并显示“关闭 sha1 文件时出错:错误的文件描述符”

    我们使用 sshfs 通过 SSH 安装文件系统 并将其用作 git 存储库协作的远程存储 Mac OSX 10 6 6 到 RHEL 3 服务器 SSHFS 版本 2 2 MacFUSE SSHFS 2 2 0 MacFUSE 库版本 F
  • 如何正确使用“mvn release:prepare”?

    我尝试了这个命令 用dryrun在我的 Maven 项目上进行测试 mvn release clean release prepare DdryRun true DgenerateBackupPoms false Dtag solocal
  • 自动将所有 GitHub 存储库镜像到 gitlab

    对于 GitLab 必须手动为每个存储库设置拉 推镜像 我想知道那里有any way可以自动将所有 Github 存储库同步到 GitLab 这样 当您在 GitHub 中创建新的存储库时 GitLab 中的存储库将自动创建 并充当拉取镜像

随机推荐

  • 有没有办法在摩根中记录响应正文?

    我想将响应正文记录在我的日志文件中 我已经尝试过 morgan body 但我想将响应记录在文件中而不是控制台中 以下代码将记录请求正文 那么有没有办法也记录响应 morgan token body function req res ret
  • 未在 C 中的 for 循环条件中声明的变量仍然有效

    我写了下面的代码来查找所有数字的总和C 当我编译并运行它时 它是成功的 但是 直到后来我才意识到我已经未输入任何值对于变量 n 在 for 循环的条件中 我对这个程序的工作原理感到困惑 即使没有为条件变量分配值 我也想澄清这一点 inclu
  • 在div中显示html文件

    我一直在尝试寻找一种方法来做到这一点 因为我确信有数百个网站对此进行了解释 但我只是无法正确表达 所以我所有的搜索都得出了其他内容 如果这个问题之前已经被问过很多次了 我很抱歉 无论如何 我想做的是在 div 内加载页面 page html
  • 更新实体框架 6 中的多对多导航属性,更改未保存

    我已经抓狂了大约 2 天 因为每当我向现有实体添加多对多实体时 我根本无法让 EF 保存更改 我的结构很简单 我有一张桌子叫Person 它有一个 ID Primary identity 和一些其他字符串字段 一个表叫Keyword带有一个
  • NoSuchBeanDefinitionException 至少有 1 个有资格作为此依赖项的自动装配候选者的 bean

    我对 Spring 框架有问题 我一直在寻找解决方案 但没有任何结果 当我部署应用程序时 出现异常 14 11 2012 0 37 23 org apache catalina core ApplicationContext log INF
  • Nhibernate 与其他 ORM 有何不同?

    除了开源和成熟这一事实之外 还有哪些差异化因素可以将它们区分开来 冬眠来自其他 net ORM 框架 例如Subsonic ADO NET 实体框架 etc 更准确地说 为什么我应该选择 nhibernate 而不是其他 net 实体框架
  • Eclipse 不会将项目识别为库(ActionBarSherlock/ViewPagerIndicator)

    我想得到动作栏夏洛克 http actionbarsherlock com 和查看寻呼指示器 http viewpagerindicator com 为我的项目设置的库 但我似乎遇到了一些问题 我早些时候向杰克 沃顿 Jake Wharto
  • C# HttpWebRequest - 使用 Gzip 压缩

    我有一个程序可以生成大量 HttpWebRequest 并且我读到了有关使用 gzip 压缩来加速响应数据下载的内容 我知道 gzip 是什么以及它如何工作 但我不知道它在 C 中如何工作 假设我有一个简单的 GET 请求 HttpWebR
  • Folium 地图在 Spyder 中不显示

    标题说明了一切 我无法让 Spyder 显示地图folium 这是我得到的 import folium m folium Map location 45 5236 122 6750 m 没有错误 也没有地图 只是这样 m render No
  • 为什么要把 try/catch 块放在循环之外?

    这是实践与模式团队的代码审查指南 http msdn microsoft com zh cn library ms998574 scalenetchapt13 topic7 http msdn microsoft com zh cn lib
  • jQuery - 拖动时停止悬停事件

    我正在创建一个拖放图像环境 如果您将鼠标悬停在图像上 则会在其上方弹出一个小菜单 如果单击并拖动图像 可以对它们重新排序 我遇到的问题是 我希望在拖动时禁用悬停事件 目前 如果您拖动图像 它会触发您悬停在其上的其他图像上的所有悬停菜单 ul
  • 在休眠应用程序中设置字节码提供程序的问题

    我正在尝试添加 cglib 作为默认字节代码提供程序 我在用hibernate cfg xml文件来配置会话工厂
  • 应用程序在 Activity 中抛出 java.lang.StackOverflowError 异常

    我正在开发一款 Android 应用程序 在我的一项活动中 我使用 PullToRefreshListView 有时我得到java lang StackOverflowError 错误我的活动例外 我尝试修复它 我也在谷歌上搜索 但没有得到
  • 我如何发现我的delphi应用程序当前是否有模式窗口?

    我在 Delphi MDI 应用程序中运行了一个计时器 如果后台发生变化 我想用它弹出一条消息 但我不希望当应用程序在前台有模式对话框时弹出该消息 因为用户对此无能为力 那么我想知道如何检查我的应用程序中是否存在模式对话框 您可以尝试使用以
  • 如何克隆文件名中带有冒号的文件

    当我使用 msysgit 克隆存储库时 所有文件名中带有空格的文件都不会被删除 然后在状态中显示为已删除 文件名看起来像这样 styles ie 1 12 11 6 02 PM css所以它实际上可能是冒号或括号 如何获取这些文件以使我的本
  • Reactjs 淡入淡出 div 与内联样式

    我怎样才能添加一个fade in动画到 div fading in text div 仅使用内联样式 class Practise extends Component state show false componentDidMount s
  • 在张量流中解包(unstack)具有一个 None 维度的输入(占位符)

    我正在尝试将 LSTM 与具有不同时间步长 不同帧数 的输入一起使用 rnn static rnn 的输入应该是 tf 序列 不是 tf 所以 我应该将我的输入转换为序列 我尝试使用 tf unstack 和 tf split 但它们都需要
  • cocoapods activesupport冲突ios开发

    我尝试在 cocoapods 项目上报告此问题 但被指示在此处发布 我最近承担了一个工作项目 但我无法让以前的顾问设置在我的本地工作站上运行 然而 当我运行时 我能够成功安装 cocoapods gempod install它爆炸了 spe
  • Django modelform:是否可以内联添加相关模型?

    我真的希望这不是重复的 我找不到任何东西 但这可能意味着我不擅长搜索 我有一个 Django 应用程序 并且工作人员已经在使用管理应用程序来 嗯 管理目的 我还为特定模型创建了一个快速数据输入页面 基本上是通过在基本模板中放置模型表单来创建
  • 为什么“git describe”在我的干净 git 存储库副本上显示较旧的标签版本?

    一些背景 我目前有两个本地 git 存储库 它们指向相同的源 主项目 我有两个 git 存储库的原因是 我有一个干净的主副本 我可以在需要时使用 还有一个副本 我可以在沙箱中应用更改 提交等 这可能有点矫枉过正 但有一些优点对我个人来说 有