You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

post-commit git钩子中获取Drools仓库被提交分支以推送至对应远程分支

问题排查与解决方案

第一步:确认分支状态

先执行 git branch --list 查看输出中带 * 标记的分支:

  • 如果 * 标记的确实是 master:说明你未成功切换到目标分支,先执行 git checkout <目标分支名> 完成分支切换后再操作即可。
  • 如果 * 标记的是其他分支,但获取命令依然返回 master:属于命令参数或环境配置问题,参考后续方案修复。

第二步:修正分支获取命令

你当前使用的命令强制指定了 --git-dir=. 与 --work-tree=.,要求必须在仓库根目录(.git文件夹所在目录)执行才能正常读取仓库状态,如果你在仓库子目录下执行就会出现返回结果异常。直接使用简化命令即可:

BRANCH=$(git branch --show-current)

如果执行该命令返回空值,说明你当前处于分离头指针状态,没有关联的本地分支,先执行 git checkout -b <新分支名> 将当前提交绑定到新分支即可。
如果分支切换正常、命令简化后依然返回错误结果,执行 alias git 检查是否配置了强制指向master的git别名,导致命令返回异常。

批量推送所有分支的替代方案

如果你需要一次性将本地所有分支的变更都推送到远程同名分支,不需要逐个分支切换获取分支名,直接执行:

git push origin --all

该命令会自动匹配本地与远程的同名分支,推送所有本地分支的最新提交。

内容的提问来源于stack exchange,提问作者josesuero

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 18:54:03