【问题标题】:Any reason to use a Git alias instead of a git-* script?有什么理由使用 Git 别名而不是 git-* 脚本?
【发布时间】:2015-08-18 22:14:04
【问题描述】:

在 Git 中,您可以使用别名或创建可执行文件来创建自定义命令,该文件包含在您的 PATH 中,以 git- 开头。有什么理由选择别名而不是脚本?

我与一个开发团队合作,并制作了一些方便的别名,我想与他们分享。我的一位同事建议将别名用于简单的事情,例如缩短命令(例如,git co 作为git checkout 的别名),并且脚本对于更复杂的任务很有用,例如将多个功能组合为一个。但是他想不出任何不使用脚本的理由,不确定是不是他觉得应该是这样,或者他是否在某个地方听说过应该是这样的,或者是什么。

我们的团队都在同一个开发服务器上工作,所以如果我可以使用脚本,我可以简单地将它放在/usr/local/bin 中,每个人都可以自动访问它。所以即使有一个简单的别名,将它作为一个 git 脚本来使用会更方便,这样每个人都会自动拥有它,而不是我必须告诉每个人单独设置它。更不用说,当新开发者开始时,我们必须记住让他们也进行设置。

我知道这听起来像是我在为脚本方法进行竞选,而且我是。我只是想知道使用这种方法是否有任何缺点。

【问题讨论】:

    标签: git alias


    【解决方案1】:

    通过使用 git 别名,您将能够使用分支名称、标签等的自动完成

    【讨论】:

    • +1 非常有效的点。刚刚尝试过,果然,自动完成功能适用于别名,但不适用于脚本。谢谢!
    • 如果您将脚本命名为 git-foo,则自动完成将起作用
    【解决方案2】:

    别名是通过 git 的配置机制定义的,因此它们可以应用于整个系统、单个用户或仅单个存储库,具体取决于您是在 /etc/gitconfig~/.gitconfig 还是 $GIT_DIR/config 中定义它们。如果您将自己的 .gitconfig 复制到新机器上,它将通过复制单个文件来包含您的所有个人别名,这似乎比复制完整目录并正确设置 PATH 以找到您的文件的开销更少。

    【讨论】:

    • 对系统范围的 git 配置一无所知。我认为使用系统 git config 来缩短常规 git 命令以及使用 shell 脚本来缩短繁重的组合命令听起来是最好的主意。问题不在于将命令迁移到新机器上的难易程度,而是在同一台服务器上设置新用户,只要我们可以设置别名以应用于系统上的所有用户(我们可以,正如你所指出的),这对我们有用。谢谢!
    • 请注意,可以从别名定义中调用脚本。在这种情况下,与他人共享您的 Git 配置文件是不够的;您还需要分享相关脚本。
    猜你喜欢
    • 2021-06-06
    • 1970-01-01
    • 2020-01-20
    • 1970-01-01
    • 2017-02-09
    • 2021-10-06
    • 2011-07-07
    • 2013-11-06
    • 2023-02-09
    相关资源
    最近更新 更多