有什么方法可以为 Windows 制作您自己的个性化 git 命令吗?

Is there any way to make your own personalized git commands for Windows?

我最近注意到,我的工作流程的开始包括创建一个 git 存储库并添加提交,然后通过键入不同的命令将代码推送到存储库。虽然这不是一项极其繁琐的任务,但如果有一条命令就可以完成该任务,那就太好了。但我找不到任何。所以我想知道有什么办法可以制作个性化命令吗?如果可以,有人可以向我建议我在哪里可以了解更多信息吗?我想学习而不是用勺子喂我。

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

这意味着您可以编写 shell 脚本,使用与 Git 相同的 POSIX 兼容 shell .对于非常短的命令,考虑使用 Git 的 到 运行 一个 shell 命令:

[alias]
    foo = !echo foo

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

一般来说,您应该编写使用管道命令的脚本:这些 Git 命令的行为是可预测的(不依赖于用户配置)并且其输出设计为易于其他程序读取。仔细区分这些命令和 Git porcelain 命令,这些命令倾向于读取用户配置以进行控制,例如,diff 是否应尝试定位重命名的文件,以及输出是否应着色通过 ANSI 转义序列(参见 List of ANSI color escape sequences)。包含一些不可预测的转义序列的输出(相关颜色由用户决定)将难以解释。

如果您使用 bash,您也可以编写自己的 shell 根本不是 Git 命令的脚本。例如,您可以编写一个调用 curlgh(GitHub CLI)的命令以在 GitHub 上创建一个存储库,您不能从Git本身。