ojh*_*ojh 3 git githooks git-branch
在Git中从一个分支切换到另一个分支时,是否有任何方法可以从检出后挂钩中检索两个分支的名称?
因此,假设我要运行以下两个命令:
$ git branch
* branch_a
branch_b
master
$ git checkout branch_b
Switched to branch 'branch_b'
Run Code Online (Sandbox Code Playgroud)
我正在寻找以下两个字符串(在check-out挂钩中):
"branch_a"
"branch_b"
Run Code Online (Sandbox Code Playgroud)
这是基于 @GHugo 答案的完整示例
PREV_BRANCH=`git reflog | awk 'NR==1{ print $6; exit }'`
NEW_BRANCH=`git reflog | awk 'NR==1{ print $8; exit }'`
echo "PREV_BRANCH: $PREV_BRANCH"
echo "NEW_BRANCH: $NEW_BRANCH"
Run Code Online (Sandbox Code Playgroud)
您可以git reflog在内部使用钩子来获取上一个和下一个分支。这是一个简单的工作示例:
#!/bin/bash
# $6 = previous branch, $8 is next branch
git reflog | awk 'NR==1{ print $6 " -> " $8; exit }'
Run Code Online (Sandbox Code Playgroud)
编辑:更新的答案。在这里以前:
该挂钩具有三个参数:
有了这两个第一,您应该有足够的信息来了解您要做什么。