如何在Git中为命令设置别名?

795

我看过一个视频,在那里有人已经得到了

git st
git ci

如何使用Git?我尝试着去做,但是却遇到了一个错误提示,问我是否指的是别的什么东西。
作为一个Git新手,我需要知道完成这个任务需要做些什么?


3
您可以在此处查看 https://git-scm.com/book/zh/v2/Git-基础-Git-别名 - JayRizzo
还可以在这里查看更高级的git别名使用方面的更多问题:https://stackoverflow.com/questions/46528736/git-alias-returns-an-error-when-using-pipe-command/ - NeilG
26个回答

2
如果你想要替代 ~/.gitconfig 选项并且愿意深入挖掘,另一个选择是通过在全局 node 包中包装它们来编写完全自定义的 git 命令。
在你的 package.json 文件中,你可以定义根命令(例如:gt),然后过滤特定命令以执行正确的 git 命令。例如,git checkout my-branch 可以变成 gt co mybranch
npm 上的 "christian-git" 包使用了这种方法:https://github.com/alexmacarthur/christian-git

2
请查看我 .gitconfig 文件的截图,链接如下:PFA screenshot of my .gitconfig file。此文件中包含以下别名。
[alias]
    cb = checkout branch
    pullb = pull main branch

1
这是别名的相关内容。尽管这里有很好的答案,但我添加了它,因为它在Windows和Linux中有所不同。

0
alias s="git status"

你的食指会原谅你一生中给它带来的所有疼痛。


0
这里给出的各种答案似乎缺少一个情况。即,如果别名所需的选项需要插入到命令的中间位置怎么办。例如,git grep hello -- :/ 在当前存储库的根文件夹开始搜索 hello。对于Linux系统,我们可以创建一个类似的别名。
git config --global alias.ggrep '!git grep "$@" -- :/'

这样git ggrep hello将会做相同的事情。


-1

对于 Windows 系统,另一种可能的方法是创建一个目录,其中包含填充有 .bat 文件的快捷方式。文件名就是要使用的快捷方式。只需将该目录添加到 PATH 环境变量中,您就可以在 cmd 窗口中使用所有快捷方式。

例如(gc.bat):

git commit -m %1

然后您可以在控制台中执行以下命令:

gc "changed stuff"

我之所以将其作为答案添加是因为使用此方法时,您不仅限于git ...命令。


1
你可以通过将shell别名添加到你的.profile、.bashrc或.bash_profile文件中来实现相同的功能,具体取决于你的系统。这样,所有的别名都在一个单独的文件中。此外,这也是完成你的任务的标准机制。"命令别名"部分展示了一些常用的shell别名,用于git命令。当然,还有更好的资源和教程可供参考,这只是我打开的一个链接。 - SherylHohman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接