【发布时间】:2012-10-17 14:47:38
【问题描述】:
我在我的 repo 中使用 git post-checkout 挂钩将当前分支转换为一个变量,然后我想在 PHP 等其他地方使用它。
以下是我的结帐后脚本:
#!/bin/bash
echo $GITBRANCH
GITBRANCH=`git symbolic-ref HEAD | cut -d/ -f3-`
echo $GITBRANCH
export $GITBRANCH
但是它没有更新。例如:
>git checkout master
Switched to branch 'master'
develop
master
>echo $GITBRANCH
develop
单独运行GITBRANCH=git symbolic-ref HEAD | cut -d/ -f3- 命令将生成当前分支名称。
为什么钩子不全局更新 $GITBRANCH 变量?
【问题讨论】:
-
我很确定你不能以这种方式将正在运行的进程中的变量注入到父进程的环境中。
-
export允许其子进程使用变量,而不是其父进程。