【问题标题】:can I make a git alias from this?我可以从中创建一个 git 别名吗?
【发布时间】:2014-08-26 16:32:26
【问题描述】:

为了查看我在最后一段时间修改了哪些文件,我使用以下命令:

git log --pretty=format: --name-only --since="2 days ago" | sort | uniq

问题是我想把它转换成别名。我可以将2 days ago 作为参数传递给我的别名命令吗?

PS:我使用的是 Windows

【问题讨论】:

  • 你在谈论 Bash 别名?为什么不直接做一个函数呢?
  • 你在Windows下使用git-bash吗?还是cmd.exe?
  • @merlin2011:我正在使用 git-bash
  • 我相信答案应该在 git bash 下对你有用,但我无法测试它,因为我目前无法访问 Windows 系统。

标签: git parameter-passing alias


【解决方案1】:

如果出于某种原因你真的想要一个 git 别名this answer 可能会帮助你。

但是,正如 Oli 的评论所提到的,使用 bash 函数可能会更好地解决您的问题,因为无论如何您都在调用外部 shell 命令。此函数定义应放在您的.bashrc 中,以便在每次加载 shell 时定义。

glog() {
   git log --pretty=format: --name-only --since="$1" | sort | uniq
}

像这样在 shell 上调用它:

glog "2 days ago"

【讨论】:

  • 你需要把这个函数放在.bashrc中(或者如果你在.zshrc中使用zsh)。重新创建终端后,该功能可用。
  • @Celt0,好点子。我认为这是隐含的,但你说得对,我应该明确表示。
  • 如果你愿意,你也可以创建一个真正的 Git 别名,方法是在命令前加上 !,例如git config alias.mylog '!git log --pretty=format: --name-only --since="2 days ago" | sort | uniq'。现在git mylog 会将该字符串作为shell 命令运行。
【解决方案2】:

当然,您可以创建所需的别名。 我建议阅读这篇文章(它还链接到许多有用的别名)

http://durdn.com/blog/2012/11/22/must-have-git-aliases-advanced-examples/

本文将向您展示如何编写简单的别名以及一些高级 git 函数作为别名。

祝你好运。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-17
    • 2017-02-26
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    • 2020-01-26
    相关资源
    最近更新 更多