【问题标题】:Can I extend a git command with custom flags?我可以使用自定义标志扩展 git 命令吗?
【发布时间】:2014-04-09 21:19:46
【问题描述】:

我想将我自己的标志添加到现有的 git 命令中。这可行吗?

类似git diff --myownthing

我该怎么做?

【问题讨论】:

  • 回声“万岁成功了”然后退出。有什么关系?
  • 因为我对实际用法很好奇。 “呼应万岁”的确切过程是什么? git 是处理参数的命令,它应该如何将执行传递给其他东西?
  • 当我git pull --rebase 发生冲突时,它会说“修复你的废话并点击git pull --continue--abort。”。我想创建另一个选项--table,它不会中止该过程,但让我将所有这些废话留在未完成的状态,稍后再拿起它。我可以创建一个新的git table 命令,但我觉得它是pull 的一部分,而不是它自己的独立命令。
  • 注意“桌子”这个词。它在不同的地区有不同的含义:en.wikipedia.org/wiki/Table_%28parliamentary_procedure%29(在美国“表”某事意味着暂时将其放在一边;在世界其他大部分地区,这意味着相反,即考虑某事)。
  • @Joe Frambach:所以您想更改git 命令的行为,而不仅仅是“添加自定义标志”。为此,您显然需要下载 git 源代码,对其进行修补、编译和使用。

标签: git


【解决方案1】:

【讨论】:

    【解决方案2】:

    在您的 .gitconfig 文件中,您可以将 bash 函数定义为别名。我不确定您是否可以获得所需的功能,但您可以让 git pull 执行一些其他步骤以及 / 而不是默认值。

    例如,我有 diff = "!f() { git diff --color=always "$@" | less -R; }; f" 作为别名,它将 git diff 传递给 less 而不是 stdout。

    【讨论】:

      【解决方案3】:

      我不确定你是否可以修改内置 Git 命令以接受额外的参数而不实际修改 Git 源代码,但你可以轻松地制作将接受参数的 Git 别名。

      参见,例如:

      1. https://stackoverflow.com/a/3322412/456814
      2. https://stackoverflow.com/a/7005698/456814

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-06-21
        • 1970-01-01
        • 1970-01-01
        • 2018-03-04
        • 2015-06-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多