从结账后挂钩中检索分支名称

2024-03-17

当在 Git 中从一个分支切换到另一个分支时,是否有任何方法可以从 post-checkout 挂钩中检索两个分支的名称?

所以假设我要运行以下两个命令:

$ git branch
* branch_a
  branch_b
  master

$ git checkout branch_b
Switched to branch 'branch_b'

我正在寻找以下两个字符串(在结账后挂钩中):

"branch_a"
"branch_b"

您可以使用git reflog在你的钩子中获取上一个和下一个分支。 这是一个简单的工作示例:

#!/bin/bash

# $6 = previous branch, $8 is next branch
git reflog | awk 'NR==1{ print $6 " -> " $8; exit }'

编辑:更新答案。这里是上一个:

该钩子由三个参数给出:

  • 前一个 HEAD 的引用
  • 新 HEAD 的 ref
  • 如果是分支签出,则为 1;如果是文件签出,则为 0。

有了这两个第一,您应该对您想要做的事情有足够的信息。

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

从结账后挂钩中检索分支名称 的相关文章

  • 如何 git grep 仅一组文件扩展名

    如何执行 git grep 并将检查的文件限制为一组文件 我希望能够 grep cpp 和 h 文件的内容来查找 MyFunc 例如 git grep MyFunc hc 但是 这也匹配 c 文件和 cs 文件 Use git grep M
  • `git ls-files -s` 输出中不同字段的含义是什么?

    在 Git 中 命令返回的典型结果行git ls files s好像 100755 be2c2e9b0966253096472d4b482c458bc892e493 0 gitignore 这些字段是什么意思 不用再犹豫了git ls fi
  • 哪个是更智能的 git 协议,ssh 或 git(通过 ssh)或 https 协议?

    哪个高效 SSH 或 Git 文件压缩 我对 Git 的理解是 git 协议很智能 因为通信两端都有一个协议代理来压缩文件传输 从而通过有效地使用网络带宽来实现更快的克隆 From 我发现了以下说法 For secure authentic
  • git 显示已添加到 gitignore 的文件中的更改?

    我已经将 log2 文件夹和 main js 文件添加到 gitignore 如屏幕截图所示 但即使执行后git rm cached r我仍然可以看到 git 正在检测 main js 和 log2 文件夹内文件的更改 怎么会 这些的常见问
  • 格里特:! [远程拒绝] HEAD -> refs/publish/master (没有新的更改)

    我做了一些更改 提交了它们并将分支推送到 Gerrit git push gerrit 现在我的更改没有出现在 Gerrit 中 我认为这是因为我手动推送更改而不是使用git 审查 https github com openstack in
  • 默认情况下 git merge -Xignore-space-change

    我该如何设置该选项ignore space change对于所有合并使用git config 我也许可以使用别名merge 但因为我希望该设置应用于git stash pop git stash apply git pull and git
  • 如何克隆特定的 Git 标签

    From git clone 1 手册页 http git scm com docs git clone branch还可以在结果存储库中的该提交处获取标签并分离 HEAD 我试过 git clone branch
  • 当当前分支上有未提交的更改时签出另一个分支

    大多数时候 当我尝试签出另一个现有分支时 如果我在当前分支上有一些未提交的更改 Git 会不允许我这样做 所以我必须首先提交或隐藏这些更改 然而 有时 Git 确实允许我在不提交或存储这些更改的情况下签出另一个分支 并且它会将这些更改携带到
  • Git 2.2.x 无缘无故更新旧包文件的时间戳

    Git 2 2 0 和 2 2 1 似乎修改了旧的时间戳 git objects pack pack pack偶尔会无缘无故地文件 它只是改变时间戳 内容是相同的 调试这一点很困难 因为它似乎很少进行更改 我在 2 2 0 之前的任何 Gi
  • Git 在哪里存储标签?

    Git 在哪里存储标签 我执行 git tag v0 1 0 v0 10 0 v0 11 0 但目录 git refs tags是空的 Git 将这些标签存储在哪里 谢谢 它们也可以存储在 git packed refs
  • git reflog 和 log 有什么区别?

    手册页说 log 显示提交日志 reflog 管理 reflog 信息 reflog 信息到底是什么 它有哪些日志没有的信息 日志看起来更详细 git log显示当前的 HEAD 及其祖先 也就是说 它打印提交 HEAD 指向的提交 然后打
  • 使当前提交成为 Git 存储库中唯一(初始)提交?

    我目前有一个本地 Git 存储库 我将其推送到 Github 存储库 本地存储库有约 10 次提交 Github 存储库是其同步副本 我想要做的是从本地 Git 存储库中删除所有版本历史记录 以便存储库的当前内容显示为唯一提交 因此存储库中
  • 仅使用 Git grep 的文件名

    我只想查看文本中包含特定单词的不同文件 current directory git grep word 显示文件中具有匹配单词的每一行 所以我尝试了这个 current directory git grep word files with
  • 使用 gitignore 嵌套存储库。

    我想嵌套 2 个 git 存储库 我一直在阅读子模块 有一段时间我认为它很棒 我想我可能想要其他东西 这是我的情况 首先 我想我应该提到我的所有服务器都托管网站 并以 staging domain com 和 domain com 实时 模
  • 如何在不在存储库中的情况下执行 Git 命令?

    有没有一种方法可以在不位于存储库的情况下对存储库执行 Git 命令 例如这样的事情 git home repo log 请不要告诉我cd到它 我正在通过一个exec call Use C作为 git 的第一个参数 git C home re
  • VSTS:在构建过期的情况下自动变基/合并和重新排队构建验证门

    我们最近对 PR 上的构建验证门进行了更改 这样 如果另一个提交在当前 PR 完成之前进入主分支 则构建会 立即 过期 看here https stackoverflow com questions 49418800 vsts invali
  • Phonegap使用命令行工具添加插件

    我是phonegap的新手 我按照phonegap官方网站中定义的步骤使用命令行工具创建项目 nodejs 我成功创建项目并添加平台 但是 当我尝试添加插件时出现以下错误 命令 cordova plugin add https git wi
  • Git - 远程:错误:无法运行钩子/后接收:没有这样的文件或目录

    我收到错误 remote error cannot run hooks post receive No such file or directory 当尝试推送到远程时 接收后文件存在于正确的位置 testnew git hooks 并包含
  • 无法使用 Git 部署从多项目解决方案部署正确的网站到 Azure

    我有一个解决方案 它有一个 mvc 网站 WebApplication1 该网站依赖于解决方案中的另一个项目 WebAppCore 源代码托管在 Visual Studio Online 上的 git 中 我配置了持续集成 一切都构建得很好
  • 为 RHEL 6 安装/构建 git-svn

    我无权访问 RHEL6 存储库 那么在 RedHat Enterprise Linux 6 上构建和 或安装 git svn 工具的最佳方法是什么 通过卸载现有的 yum擦除git 并从源安装最新的来设法安装git和git svn 1 7

随机推荐

  • 如何使用 ICU4C 规范化字符串?

    我发现 ICU 文档有些挑战性 我的问题是 如何使用 ICU4C 规范化字符串 我正在查看 unorm2 normalize 但是如果缓冲区不够大怎么办 我以前怎么知道这一点 当然 我想标准化整个字符串 谢谢 gt 附 以下是该函数的 AP
  • 如何以编程方式更改 ActionBar 菜单项文本颜色?

    我有一个包含多个项目的操作栏 我想在单击该项目时更改文本的颜色 有没有办法以编程方式执行此操作 请提供示例或任何资源 Thanks public void catalogClick MenuItem item highlight menui
  • Scala 可变选项?

    我想要这样的东西 private val cachedResponse mutable Option empty A def get A cachedResponse getOrElseUpdate db findModel def upd
  • 基于非类型模板参数的重载

    我们熟悉基于函数参数的重载 但是为什么我们不能基于非类型模板参数进行重载呢 通过这种重载 您不必仅仅为了重载目的而添加额外的函数参数 这可能会对运行时性能产生负面影响 唉 下面的代码无法编译 template
  • jQuery 模拟点击选项卡并执行代码

    下面的代码 当我单击选项卡时 我会发布帖子并在选项卡中显示结果 在某些情况下 我想强制选择选项卡 但不仅选择该选项卡 而且选择该选项卡 执行单击它时执行的代码 在我的示例中 我喜欢选择第二个选项卡 jLikeToSet 1 并执行代码 po
  • 如何将一个android studio项目合并到另一个android studio项目中

    我有两个独立的 android 应用程序项目 它们是在 android studio 中制作的 我正在尝试将项目 1 合并到项目 2 中 使其成为一个应用程序 我将如何去做呢 我知道如何在 eclipse 中执行此操作 但不知道如何在 an
  • 使用 dart::ffi 从 Dart 包中调试 C++ 代码

    我正在用 C 开发一个包 用于 Flutter 应用程序 因此在 Dart 中 使用飞镖 菲菲 https dart dev guides libraries c interop我想知道除了记录消息之外 是否有更好的方法来调试 逐步 变量监
  • 从返回堆栈恢复片段时的savedInstanceState

    我可以用吗savedInstanceState 删除片段时保存状态 然后从返回堆栈弹出片段时恢复状态 当我从返回堆栈恢复片段时 savedInstanceState 包始终为空 现在 应用程序流程是 创建片段 gt 删除片段 添加到后台堆栈
  • MySQL 可以对单个查询使用多个索引吗?

    想象一个具有多列的表 例如 id a b c d e 我通常选择通过id但是 客户端应用程序中有多个查询对列的子集使用各种条件 当MySQL在多列上使用多个WHERE条件对单表执行查询时 它真的可以利用在不同列上创建的索引吗 或者使其快速的
  • 以编程方式构建 SQL 查询的可靠方法

    我必须求助于 ORM 不足的原始 SQL 使用 Django 1 7 问题是大多数查询最终有 80 90 相似 我无法找出一种稳健且安全的方法来构建查询而不违反可重用性 字符串连接是唯一的出路吗 即使用构建无参数查询字符串if else条件
  • Cloud Functions FCM 预期 OAuth 2 访问令牌

    因此 自 7 月 29 日以来 我注意到我的 Firebase Cloud Functions 在尝试发送 FCM 消息时抛出错误 错误 请求缺少所需的身份验证凭据 预期的 OAuth 2 访问令牌 登录 cookie 或其他有效身份验证
  • Json字符串化范围错误

    我从 API 得到的结果如下 id 1 area zone T aisle side E col 1 level 0 position 0 name T E 1 id 2 area zone T aisle side E col 60 le
  • Objective C UITableView - 更改单元格高度后表格单元格显示错误的内容

    我正在尝试在 xcode 中构建一个应用程序 它除了其他应用程序之外还读取 rss 提要并显示帖子 我是 Objective C 的新手 有时发现它有点困难 我使用 NSMutableArray 来获取检索到的故事 帖子 每个故事都由一个
  • 使用 RVM 安装 Ruby 2.1.3 时出错

    我正在尝试使用 RVM 安装 Ruby 2 1 3 我安装了最新版本的 XCode 并且全新安装了 rvm 我基本上在做 rvm autolibs brew rvm install ruby 2 1 3 一切看起来都工作正常 但随后我收到此
  • CGContext 文本绘制在 iPhone 4 上无法按比例放大

    我正在尝试创建一个可以在 iPhone 4 上很好地缩放的应用程序 目前 它的大部分都可以完美缩放 除了一个关键部分 我在 CALayer 中的 drawInContext 方法内绘制的文本 这是我的代码 void drawInContex
  • 挂钩事件 Outlook VSTO 在主线程上继续工作

    我开发了一个 Outlook VSTO 插件 有些任务应该在后台线程上完成 通常 检查本地数据库中的某些内容或调用网络请求 阅读了几篇文章后 我放弃了在后台线程中调用 Outlook 对象模型 OOM 的想法 我有一些 wpf 控件 并且我
  • 在 django-rest-framework 中创建一个带有关系的rest api

    在 django rest framework 中创建一个rest api 我有2张桌子 拳头表 用户 id PK Name varchar 255 第二个表 地址 id PK address varchar 255 city id int
  • 如何将多个 UIBarButtonItem 添加到 UINavigationBar?

    我想添加很多UIBarButtonItem s to a UINavigationbar 不仅仅是左右按钮 logoButton UIBarButtonItem alloc initWithTitle A Button style UIBa
  • WP7 - 防止 RestSharp 缓存

    我在 Windows Phone 7 1 项目中使用 RestSharp 我的问题是 RestSharp 总是缓存响应数据 Example 我第一次发送请求时 它正确返回数据 经过一些删除操作后 我再次发送该请求 但响应似乎与第一次相同 没
  • 从结账后挂钩中检索分支名称

    当在 Git 中从一个分支切换到另一个分支时 是否有任何方法可以从 post checkout 挂钩中检索两个分支的名称 所以假设我要运行以下两个命令 git branch branch a branch b master git chec