【问题标题】:Is there any way to make your own personalized git commands for Windows?有什么方法可以为 Windows 制作自己的个性化 git 命令?
【发布时间】:2022-01-13 05:46:41
【问题描述】:

我最近注意到,我的工作流程的开始包括创建一个 git 存储库并添加提交,并通过键入不同的命令将代码推送到存储库。虽然这不是一项极其繁琐的任务,但如果有一个命令可以做到这一点,那就太好了。但我找不到任何东西。所以我想知道有没有办法做出个性化的命令?如果是这样,任何人都可以向我建议我在哪里可以了解更多信息?我想学习而不是被灌输给我。

【问题讨论】:

  • Aliases 似乎是显而易见的答案。您是否出于某种原因排除了它们?
  • 另一种执行“命令序列”的方法是批处理脚本(shell 脚本,如果您在 Linux/Unix 世界中移动)。
  • 一种选择是在 $PATH 中包含的任何路径下创建并实现一个可执行文件git-foo。然后你可以使用git foo。
  • @RomainValeri 谢谢,我对这个命令一无所知,因为我只了解了基本的 git 命令。这帮助我实现了我想要的。
  • @ElpieKay 我会调查它,虽然别名帮助我做我想做的事,但我可能会考虑你的建议,因为我可能会根据自己的喜好自定义命令。

标签: git command-line


【解决方案1】:

Git 要求您的系统具有与 POSIX 兼容的外壳。因此,Git-for-Windows 包含一个 bash 端口,它是(或在正确模式下运行时可以是)与 POSIX 兼容的 shell。

这意味着您可以编写 shell 脚本,使用 Git 将使用的与 POSIX 兼容的 shell。对于非常短的命令,可以考虑使用 Git 的 aliases 来运行 shell 命令:

[alias]
    foo = !echo foo

(或来自 shell / CLI 的 git config alias.foo "!echo foo",尽管引用文本的方法取决于相关的 shell 或 CLI)。然而,对于较长的命令,shell 脚本、Python 程序和/或用您自己喜欢的语言编写的程序可能更胜一筹。请参阅 ElpieKay's comment 关于命名命令并让 Git 找到它。请注意,当您的命令运行时,会设置一些环境变量(例如,$GIT_DIR)并扩充$PATH 以添加git-core 目录(git --exec-path 将显示您安装的位置)。这使您可以轻松运行 Git 的管道命令,甚至是一些内部 Git 脚本,例如 git-sh-setup。

一般来说,您应该编写使用管道命令的脚本:这些是 Git 命令,其行为是可预测的(不依赖于用户配置),并且其输出旨在让其他程序易于阅读。仔细区分这些和 Git porcelain 命令,后者倾向于读取用户配置来控制,例如,差异是否应该尝试定位重命名的文件,以及输出是否应该通过 ANSI 转义序列着色(参见@ 987654323@)。包含有些不可预测的转义序列的输出(有问题的颜色取决于用户)将难以解释。

如果您使用 bash,您也可以编写完全不是 Git 命令的自己的 shell 脚本。例如,您可以编写一个调用 curl 或 gh(GitHub CLI)的命令,以在 GitHub 上创建一个存储库,而您无法从 Git 本身执行此操作。

【讨论】:

  • 哇,这可能是有史以来最好的解释。
  • 您是否知道任何存储库或博客展示了如何执行您刚才解释的操作?我是新手,所以我不知道在哪里搜索这些东西。
  • 不,我来自我们购买有关这些东西的书籍的时代。 ? 例如,Rochkind 有(有?)一本很好的 Unix 书。
猜你喜欢
  • 2018-06-25
  • 1970-01-01
  • 2017-02-06
  • 2010-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-09
  • 1970-01-01
相关资源
最近更新 更多