代码之家  ›  专栏  ›  技术社区  ›  xetra11

Git alias不打印命令的输出

  •  0
  • xetra11  · 技术社区  · 6 年前

    我有以下git别名

    [alias]  
    remaster = !"git checkout $1 & git diff-tree -r --patch --diff-filter=DM $1..master"
    

    手动使用上述命令时,我得到以下标准:

    $ git diff-tree -r --patch development..master --diff-filter=DM
    
    diff --git a/subfolder/subfile.exe b/subfolder/subfile.exe
    deleted file mode 100644
    index e69de29..0000000
    diff --git a/virus.exe b/virus.exe
    deleted file mode 100644
    index e69de29..0000000
    

    使用别名时,输出不可用,因此我无法使用它修补:

    $ git remaster development
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   sschuberth    6 年前

    Git别名主要用于调用 其他 吉特

    [alias]
        aa = commit --amend -a --no-edit
    

    注意,上面只说 commit git commit . 总之,有一个常见的技巧仍然可以通过使用虚拟shell函数来实现您想要的:

    [alias]
        remaster = "!f() { git checkout $1 && git diff-tree -r --patch --diff-filter=DM $1..master | git apply; }; f"
    

    )我也换了单曲 & 正确地说 && .)

    推荐文章