通过 Plumbing 命令查看 Git 分支状态

2024-04-17

有什么办法可以得到输出git branch -v作为管道命令?确切地说,我只对分支的状态感兴趣,即它是否是[gone] or not.

例如给出以下内容git branch -v output:

> git branch -v 
  master            32c59ad4 Some other comment
  someDeletedBranch 6aacba47 [gone] Some Comment

我怎样才能得到someDeletedBranch ref?

请注意,这是notgit branch --merged,例如,如果您将拉取请求压缩到您的主控中,那么这个解决方案 https://stackoverflow.com/questions/15116908/git-branch-merged-using-plumbing-commands不会的。

这主要与这个问题 https://stackoverflow.com/questions/7726949/remove-tracking-branches-no-longer-on-remote/,因为这将是缺少的部分,无法创建可靠的脚本来删除远程上不再存在的本地分支。


水管替代品git branch通常是git for-each-ref.

$ git fetch --prune
$ git for-each-ref --format '%(refname) %(upstream)' refs/heads refs/remotes/origin

此输出将包括每个本地分支的条目,以及指向回原点的每个远程跟踪引用的条目;所以如果紧接着运行fetch --prune如图所示,它可以显示本地存在但服务器上不存在的内容。

当然有一个问题:“存在于本地但不在服务器上”might意味着“从服务器中删除”,或者可能意味着“本地创建但尚未推送”。为了区分差异,您还需要知道您的本地分支机构是否“认为”它有上游。 (如果确实如此,则可以相当安全地假设它已从服务器中删除,因为git拒绝设置不存在的上游;因此,如果它是错误的,那么基本上就必须有人故意用损坏的配置来“欺骗”你的脚本。)

所以这就是--format选项是为了.您可以处理此输出,寻找

refs/heads/somebranch refs/remotes/origin/somebranch

并且,对于每个这样的条目,如果没有also一个单独的条目,例如

refs/remotes/origin/somebranch

那么这是一个将被标记的分支[gone]

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

通过 Plumbing 命令查看 Git 分支状态 的相关文章

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

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

    我不确定是否可以将主分支 或任何其他分支 与当前功能分支进行比较 例如GIT does 我想要两个分支 主分支和功能分支 之间的差异 以便我可以在合并之前比较差异 我发现 Git UI 对用户不太友好 就像在 AS 中一样 我可以遍历代码并
  • 由于合并而不允许 git revert 但未给出 -m 选项

    我正在尝试使用 revert 命令恢复到 git 中的某个 哈希 号 我正在使用以下命令 git revert c14609d74eec3ccebafc73fa875ec58445471765 但是 我得到以下返回 错误 提交 c14609
  • git-svn --忽略路径

    我现在在 git svn 的 ignore paths 选项上挣扎了几个小时 试图从大型存储库中仅获取某些标签 我想在 dev 处开始获取 看起来像 gt svn ls http 192 168 0 2 svn repo corporati
  • 我可以通过链接分享我的私人 GitHub 存储库吗?

    我在 GitHub 上的私人存储库中有一个 Java 应用程序 我想与没有帐户的人共享它 我在网站上没有找到任何与此相关的选项 有没有办法做到这一点 协作者只能是 GitHub 用户 无法在非 Github 用户之间共享私有存储库 您需要
  • Git - 推送到远程存储库中的远程跟踪分支

    当简单地做git push到远程存储库 其master分支得到更新 对于非裸存储库来说 这是不希望出现的情况 最近的 Git 版本显示的警告消息清楚地表明了这一点 我希望能够推送到远程存储库 并拥有其之一远程追踪分支进行更新 稍后 当我登录
  • Git:如何使外部存储库和嵌入式存储库作为通用/独立存储库工作?

    我有一个大项目 比方说A repo 其中有一个子文件夹来自B repo 当我提交时 我会遇到如下警告A repo warning adding embedded git repository extractor annotator serv
  • GitHub API:标记提交所属(与 git describe --tag 并行)

    我正在使用 GitHub API 进行实验octokit https github com octokit octokit rb红宝石 我的目标是能够提取提交 SHA 所属的 标签 现在我可以使用命令行轻松地执行此操作 gt git des
  • 具有单独 work_tree 的 Git 子模块

    我按照本页上的教程使通过 Git 部署我的网站变得简单 http toroid org ams git website howto http toroid org ams git website howto 到目前为止一切都很好 但是我最近
  • Windows 版 GitKraken 中的文件名太长

    正如建议的Q22575737 https stackoverflow com a 22575737 6623589 我已经更新了我的注册表并设置了git config system core longpaths true在处理长路径时 问题
  • 交互式变基后,本地 Git 分支已偏离原始分支

    我有一个本地分行 CRM ayrshireminis 其中有一些我已推送到原点的提交 origin CRM ayrshireminis 这个分支是从创建的develop大约一周前的一个分支 其他合作者已经在该分支上完成了一周的工作 我想做的
  • 如何修复树与树之间的 Git 错误断开链接?

    我的事务被中断 当我再次尝试时 我遇到了空或损坏的对象错误 在另一个问题之后 我删除了所有空文件 当我运行时 git fsck full 我收到这个错误 Checking object directories 100 256 256 don
  • 忽略 git 中的本地配置文件

    Rails 应用程序中有一些本地文件 属于我们存储库的一部分 我希望 git 忽略它们 基本上 我希望 git 忽略我对 config environments 目录和 config application rb 文件中的任何内容所做的所有
  • Jenkins git 插件 - 有时太慢

    以下内容摘自 Jenkins 日志 00 00 03 135 gt git fetch tags progress email protected cdn cgi l email protection some org some repo
  • 推送时发生 Git 错误 - update_ref 失败

    当我尝试推送本地提交时遇到问题 这可能是在 Android Studio 崩溃时发生的 这是错误 update ref 引用 refs remotes origin master 失败 无法锁定 ref refs remotes origi
  • 如何解决 VSTS 中拉取请求中的合并冲突?

    我已经创建了拉取请求 我进入了这个 批准 按钮不执行任何操作 并且 完成 被禁用 如何解决拉取请求中的冲突 Update 微软刚刚添加了基于浏览器的合并 这可能会让你摆脱小冲突的困境 并提供自 Sprint 150 起改进了不同场景的可视化
  • 如何使用交互式变基将提交编辑为未提交?

    我想使用交互式变基来编辑以前的提交 但是当我进入该提交的编辑模式时 所有文件都已提交 我知道我可以进行更改并修改提交 但我希望所有更改最初都未提交 暂存或以其他方式 这样我就可以对其进行编辑 就像在最初提交之前一样 这可能吗 Imagine
  • 代表 Git 存储库的数学结构是什么

    我正在学习 Git 如果我能描述一下代表 Git 存储库的数学结构 那就太好了 例如 它是一个有向无环图 它的节点代表提交 它的节点有代表分支等的标签 每个节点最多一个标签 没有标签使用两次 我知道这个描述不正确 我只是想解释我正在寻找的内
  • Git:显示分支之间的差异,忽略合并的提交

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

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

随机推荐

  • Web API 返回 csv 文件

    我需要从 Web API 控制器获取 csv 文件 我无法显示 另存为 对话框 页面上仅显示文本输出 我尝试了两者 从 jquery 调用 Export 以及普通的旧 html 控制器 System Web Http HttpGet pub
  • 溢出-y:滚动在 Firefox 中不起作用

    请参考网址 http jsfiddle net 8tFnG 1 http jsfiddle net 8tFnG 1 table border 1 cellspacing 0 cellpadding 1 width 100 table
  • 获取任何给定字符的宽度(以像素为单位)

    我有一个非常棒的想法 但无法找出 NET Framework 中是否有任何类 任何版本 最好是 3 5 或 4 0 允许您传入字符 并获取该字符的宽度 以像素为单位 无论使用哪种字体 字体大小或字体装饰 有人可以指出我正确的方向吗 像这样的
  • 使用JS显示计算结果的HTML输出

    我正在尝试使用 HTML 和 JS 构建一个卡路里计算器 目前正在努力在屏幕上 或通过 console log 显示输出 我知道我正在做一些非常基本的错误 但目前无法确定那是什么 下面是我的 HTML 和 JS 代码 document ge
  • 连接表的最佳 SQL 索引

    考虑到性能改进 我想知道哪些索引对连接表 特别是在 Rails 3 has and belongs to many 上下文中使用 是否有帮助以及哪些索引有帮助 模型和表格设置 我的模型是Foo and Bar根据 Rails 约定 我有一个
  • 未修改的 iOS7 Apple GLPaint 示例混合问题

    在苹果的GLPaint https developer apple com library ios samplecode GLPaint Introduction Intro html例如 用户可以使用半透明画笔在表面上绘图并改变颜色 然而
  • 我可以在 VSCode IDE 上设置要使用的打字稿配置“tsconfig.json”路径吗?

    我有一个如下的项目结构 my app configs tsconfig json webpack merge ts webpack dev config ts webpack prod config ts node modules src
  • 在休眠启动时删除所有表

    出于开发目的 如何配置 hibernate 在运行之前删除所有表 我不想在运行代码之前不断手动删除所有表 我已经在使用了
  • Angular ng 消息在 ng 重复表单上显示错误

    我想用 ng Repeat 生成输入 问题是当我遇到错误时 这仅适用于最后一个元素 我怎样才能使其适用于每个元素
  • 如何从 ASP.NET MVC 中的控制器构造函数查找文件夹的路径?

    我试图获取网站根目录中文件夹的路径 并在调用控制器构造函数时将其保存到类属性中 public TestController Controller string temp public TestController temp 我已经尝试过以下
  • SQL 实现层次关系

    我有一个表 其中产品根据层次关系 如树结构 进行分类 我必须选择一个类别以及任何级别的所有子类别 见下图 例如我想要一个sql语句 当我查询传递id 11时 它返回我 19 20 21 22 23 24 25 26 在 MySQL 中存储分
  • 获取 JPA 本机插入查询生成的标识符

    出于性能原因 我需要使用一些本机查询将新对象插入数据库 我有一个非常复杂的 JPA 持久层 它管理我通常的实体读写 我想使用这个持久层来运行本机查询 我知道我需要方法 EntityManager createNativeQuery Stri
  • 向 Shiny 应用程序添加多个反应图和表格

    我正在开发一个闪亮的应用程序 在我工作的过程中 我一直在以随意的方式添加数字和表格 我希望有一个更好的框架 以便随着它的进一步发展 我可以灵活地将反应性图形和表格添加到输出中 目前 我一直在使用 tabPanel 和 Fluidrow 添加
  • 使用 Log4Net 格式化日期时间

    我想在使用 Log4Net 编写的日志文件中显示时间戳 HH mm ss 我希望该值采用中部时间 但我不希望出现偏移量 理想情况下 我希望它能够阅读
  • HMVC 和动态小部件

    背景 我使用 小部件 一词作为具有自己的控制器 因此有自己的操作 的部分视图 并且它几乎放置在所有页面中 我通过 HMVC 实现了它的渲染 这非常棒 Problem 现在的问题是小部件本身执行操作 考虑一下购物车小部件 该小部件被放置在所有
  • jQuery 1.6 中可能存在的错误 - $(...).attr("checked") 不起作用

    我的表单上有两个单选按钮 直到我开始使用 jQuery 1 6 为止 以下代码工作正常
  • React:第一次点击时状态未更新

    我正在制作购物车样本 每次单击时 我都会将项目的对象添加到购物车数组中 当我第一次单击 添加购物车 按钮时 它不会更新购物车 但第二次会更新 不过 当我单击渲染器返回语句中的 viewCart 按钮时 它会显示购物车中的准确商品数量 请参阅
  • Rails 的 utc_to_local 和夏令时

    gt e Event first gt e registration start utc registration start utc is a datetime column gt Sat 23 Oct 2010 06 38 00 UTC
  • PooledRedisClientManager 未释放连接

    我将 json 数据列表存储在 redis 中并使用 ServiceStack c 客户端访问它 我本质上是在管理自己的外键 我在其中存储zrangeid 我使用应用程序内部的接口从zrange然后从 Redis 获取底层 json 对象并
  • 通过 Plumbing 命令查看 Git 分支状态

    有什么办法可以得到输出git branch v作为管道命令 确切地说 我只对分支的状态感兴趣 即它是否是 gone or not 例如给出以下内容git branch v output gt git branch v master 32c5