【问题标题】:Customize default "git branch" output format and sorting?自定义默认“git 分支”输出格式和排序?
【发布时间】:2022-09-25 05:06:40
【问题描述】:

我希望能够编写git branch 并且输出(当没有传递其他参数时)将遵循我预定义的排序和格式规范。但这可能吗?现在,我知道我想要传递的 --sort--format 参数。但是让它们默认是困难的部分。

我知道我可以为此创建一个别名,可以是 git 别名,也可以是我的鱼壳的别名,但这些都不是最理想的 AFAIK:

  • fish abbr 有效,但如果我想传递一些其他参数,如 -vv,则会失败。此外,扩展 2 行格式字符串看起来很难看。
  • git alias 有效,但不是通用解决方案,因为我需要对其他与分支相关的任务使用不同的命令

有什么建议还是我想错了?

实际的最终目标是git branch 将始终列出按最新committerdate 排序的所有本地分支,并始终包含一些不错的关于分支的信息,例如gone<>(前面/后面)以及最后一次提交的时间被制作了。但这样它就不会妨碍其他git branch 功能。

  • (Git)别名是要走的路
  • 使用别名或 shell 函数。重新训练你的手指不要输入git branch。 (我被过度可配置的设置所困扰,我不得不借用别人的机器,或者以超级用户身份运行,或者其他一些命令,并期望我的自定义设置能够保持......他们不会. 所以我已经学会了限制我定制的数量,即使是那些提供定制的东西。最好得到xyz: command not found而不是意外地用未知密钥加密驱动器......)
  • 如果您需要特定的输出格式,还可以考虑使用git for-each-ref 而不是git branch。在别名中。

标签: git shell fish


【解决方案1】:

您可以定义一个捕获git branch 的shell 函数,但不改变任何其他git 调用:

git() {
  if [ $# -eq 1 ] && [ "$1" = "branch" ]; then
    git branch --format=yourformat --sort=yoursort
  else
    git "$@"
  fi
}

【讨论】:

    猜你喜欢
    • 2014-02-15
    • 2021-08-08
    • 1970-01-01
    • 2016-07-11
    • 1970-01-01
    • 1970-01-01
    • 2012-12-06
    • 2012-06-17
    • 2018-07-08
    相关资源
    最近更新 更多