Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git别名:在各种不同的别名中使用公共函数_Git_Alias_Git Config - Fatal编程技术网

Git别名:在各种不同的别名中使用公共函数

Git别名:在各种不同的别名中使用公共函数,git,alias,git-config,Git,Alias,Git Config,我想在git中为一些diff命令编写一些别名。我有几个要求: 只给出了一个修订,并且总是推断您希望与其父版本不同 如果修订是合并,则该命令失败 可以选择(但不是必需的)传递文件夹或文件以限制差异 选项通常为:--stat,--compact summary,--name only。我想要短别名,让我可以快速选择其中一个选项。例如:git dps用于--stat,git dpn用于--name only,git dpc用于--compact summary以及简单地git dp用于无选项 有什么建

我想在git中为一些diff命令编写一些别名。我有几个要求:

  • 只给出了一个修订,并且总是推断您希望与其父版本不同
  • 如果修订是合并,则该命令失败
  • 可以选择(但不是必需的)传递文件夹或文件以限制差异
  • 选项通常为:
    --stat
    --compact summary
    --name only
    。我想要短别名,让我可以快速选择其中一个选项。例如:
    git dps
    用于
    --stat
    git dpn
    用于
    --name only
    git dpc
    用于
    --compact summary
    以及简单地
    git dp
    用于无选项
  • 有什么建议吗?我想编写一个通用函数来检查修订是否是合并,但无法。否则,如果我编写多个版本,我就能够编写满足1、3和4的以下内容:

    dp<option-differentiator> = "!f() { git diff <insert-option> $1^ $1 -- $2; }; f"
    
    dp=“!f(){git diff$1^$1--$2;};f”
    
    如果路径中有一个名为
    git-
    的可执行文件,您可以像执行
    git
    子命令一样执行它


    您可以编写一个常规脚本文件,将其命名为git dp,并将其放置在您的路径上

    然后,您可以拨打:

    git dp [s|n|c] <rev>
    
    git-dp[s | n | c]
    
    我认为这是不可能的。最有可能的情况是,您要么注册了所有可能要使用的别名(这将简化每个别名引用的所有命令),要么将鉴别器开关作为
    $1
    向右移动到
    f()
    shift
    其余部分。