linux如何定义和使用别名

发布时间:2021-10-25 14:44:59 作者:小新
来源:亿速云 阅读:208

这篇文章给大家分享的是有关linux如何定义和使用别名的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。


如何定义和使用别名

要定义 Git 的别名,请使用 git config 命令,加上别名和要替换的命令。例如,要为 git push 创建别名 p

$ git config --global alias.p 'push'

你可以通过将别名作为 git 的参数来使用别名,就像其他命令一样:

$ git p

要查看所有的别名,用 git config 列出你的配置:

$ git config --global -luser.name=ricardouser.email=ricardo@example.comalias.p=push

你也可以用你喜欢的 shell 来定义别名,比如 Bash 或 Zsh。不过,用 Git 定义别名有几个功能是用 shell  无法实现的。首先,它允许你在不同的 shell 中使用别名,而无需额外配置。此外,它还集成了 Git  的自动更正功能,所以当你输入错误的命令时,Git 可以建议你正确的别名。最后,Git  还会将别名保存在用户配置文件中,你可以通过复制一个文件将别名转移到其他机器上。

无论使用哪种方法,定义别名都能改善你使用 Git 的整体体验。更多关于定义 Git 别名的信息,请看《Git Book》。

8 个有用的 Git 别名

现在你知道如何创建和使用别名了,来看看一些有用的别名。

1、Git 状态

Git 命令行用户经常使用 status 命令来查看已更改或未跟踪的文件。默认情况下,这个命令提供了很多行的冗长输出,你可能不想要或不需要。你可以使用一个别名来处理这两个组件。定义别名 st 来缩短命令,并使用选项 -sb 来输出一个不那么啰嗦的状态和分支信息。

$ git config --global alias.st 'status -sb'

如果你在一个干净的分支上使用这个别名,你的输出就像这样:

$  git st## master

在一个带有已更改和未跟踪文件的分支上使用它,会产生这样的输出:

$ git st## master M test2?? test3
2、Git 单行日志

创建一个别名,以单行方式显示你的提交,使输出更紧凑:

$ git config --global alias.ll 'log --oneline'

使用这个别名可以提供所有提交的简短列表:

$ git ll33559c5 (HEAD -> master) Another commit17646c1 test1
3、Git 的最近一次提交

这将显示你最近一次提交的详细信息。这是扩展了《Git Book》中 别名 一章的例子:

$ git config --global alias.last 'log -1 HEAD --stat'

用它来查看最后的提交:

$ git lastcommit f3dddcbaabb928f84f45131ea5be88dcf0692783 (HEAD -> branch2)Author: ricardo <ricardo@example.com>Date:   Tue Nov 3 00:19:52 2020 +0000     Commit to branch2  test2 | 1 + test3 | 0 2 files changed, 1 insertion(+)
4、Git 提交

当你对 Git 仓库进行修改时,你会经常使用 git commit。使用 cm 别名使 git commit -m 命令更有效率:

$ git config --global alias.cm 'commit -m'

因为 Git 别名扩展了命令,所以你可以在执行过程中提供额外的参数:

$ git cm "A nice commit message"[branch2 0baa729] A nice commit message 1 file changed, 2 insertions(+)
5、Git 远程仓库

git remote -v 命令列出了所有配置的远程仓库。用别名 rv 将其缩短:

$ git config --global alias.rv 'remote -v'
6、Git 差异

git diff 命令可以显示不同提交的文件之间的差异,或者提交和工作树之间的差异。用 d 别名来简化它:

$ git config --global alias.d 'diff'

标准的 git diff 命令对小的改动很好用,但对于比较复杂的改动,外部工具如 vimdiff 就更有用。创建别名 dv 来使用 vimdiff 显示差异,并使用 y 参数跳过确认提示:

$ git config --global alias.dv 'difftool -t vimdiff -y'

使用这个别名来显示两个提交之间的 file1 差异:

$ git dv 33559c5 ca1494d file1

linux如何定义和使用别名

vim-diff results

7、Git 配置列表

gl 别名可以更方便地列出所有用户配置:

$ git config --global alias.gl 'config --global -l'

现在你可以看到所有定义的别名(和其他配置选项):

$ git gluser.name=ricardouser.email=ricardo@example.comalias.p=pushalias.st=status -sbalias.ll=log --onelinealias.last=log -1 HEAD --statalias.cm=commit -malias.rv=remote -valias.d=diffalias.dv=difftool -t vimdiff -yalias.gl=config --global -lalias.se=!git rev-list --all | xargs git grep -F
8、搜索提交

Git 别名允许你定义更复杂的别名,比如执行外部 shell 命令,可以在别名前加上 ! 字符。你可以用它来执行自定义脚本或更复杂的命令,包括 shell 管道。

例如,定义 se 别名来搜索你的提交:

$ git config --global alias.se '!git rev-list --all | xargs git grep -F'

使用这个别名来搜索提交中的特定字符串:

$ git se test20baa729c1d683201d0500b0e2f9c408df8f9a366:file1:test2ca1494dd06633f08519ec43b57e25c30b1c78b32:file1:test2

自动更正你的别名

使用 Git 别名的一个很酷的好处是它与自动更正功能的原生集成。如果你犯了错误,默认情况下,Git 会建议使用与你输入的命令相似的命令,包括别名。例如,如果你把 status 打成了 ts,而不是 st,Git 会推荐正确的别名:

$ git tsgit: 'ts' is not a git command. See 'git --help'. The most similar command is        st

如果你启用了自动更正功能,Git 会自动执行正确的命令:

$ git config --global help.autocorrect 20$ git tsWARNING: You called a Git command named 'ts', which does not exist.Continuing in 2.0 seconds, assuming that you meant 'st'.## branch2?? test4

感谢各位的阅读!关于“linux如何定义和使用别名”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

推荐阅读:
  1. MYSQ如何定义表别名和字段别名?
  2. 使用linux的alias命令设置命令别名

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux

上一篇:什么是Ansible剧本

下一篇:Python爬虫经常会被封的原因是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》