git:显示当前的合并配置值

时间:2012-01-16 02:13:13

标签: git

有没有办法在git 中显示当前的合并配置选项,而无需手动指定我当前的分支。我想做这样的事情:

$ git cur-merge-val
branch.current.merge = /refs/heads/current

其中git cur-merge-val可能是一些长而复杂的git命令,我可以为它做一个别名 - 只要我在命令行上输入的内容不需要输入当前分支我' m in(因为这似乎是多余的,因为该信息应该以某种方式以编程方式可访问)。

2 个答案:

答案 0 :(得分:1)

创建以下脚本(例如,将其命名为cur-merge-val.sh并使其可执行):

current=`git status -s -b | head -1 | cut -d' ' -f2`
git config branch.$current.merge

然后,只需将以下内容添加到.gitconfig文件中:

  

[别名]
          cur-merge-val = /path/to/cur-merge-val.sh

答案 1 :(得分:0)

我找到了一个解决方案:

  1. 避免使用porcelain命令支持管道命令
  2. 还显示当前远程配置值和所有可能的合并配置值(如果有多个)。
  3. 避免必须制作另一个可执行文件
  4. 请参阅https://stackoverflow.com/a/1593487/10608,了解为何我按照我的方式获取当前分支名称。

    [alias]
        cur-merge-val = !branch_name="$(git symbolic-ref HEAD)" && branch_name=${branch_name##refs/heads/} && git config --get-all branch.$branch_name.remote; git config --get-all branch.$branch_name.merge