开发者必备神器,你真的会用吗?

Git是在开发过程必不可少的一款工具,它经常用于代码的版本控制与团队开发。

经常使用Git的同学应该都很清楚,Git在代码的提交、合并、版本管理过程中涉及大量的命令。

这对于开发者来说具有一定的记忆负担,而且重复输入复杂冗长的命令,也会导致效率急剧降低。

 

别名则是一个行之有效的解决方法,通过使用别名,可以为最常用和复杂的Git命令创建快捷方式,这样能够极大的提升开发效率。

本文,就来介绍能够让开发效率倍增的8个别名。

定义别名

要想定义别名,需要用到git config配置命令:

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

上述命令中alias.p表示要定义一个别名p,push代表要替换的命令。

简而言之,上述配置的含义就是利用p来替代push命令。

下面,就可以通过别名来使用你需要的命令:

$ git p

查看当前配置的别名,可以通过如下命令:

$ git config --global -l
user.name=ricardo
user.email=ricardo@example.com
alias.p=push

对于Linux有一定基础的同学都知道,我们可以使用自己喜欢的shell来定义别名,例如,Bash或zsh。

但是,使用Git定义别名能够提供shell无法提供的功能。

首先,它允许你能够在不同shell下使用,无需其他多余配置。其次,Git将你定义的别名保存到用户配置文件中,从而,它允许你将文件转移到其他计算机。

当然,至于更加倾向哪种方式来定义别名,取决于自己的使用习惯。

下面,就开始正式介绍这8个别名。

1. Git status

在使用Git过程中,会经常用到git status来查看目前更改的文件。

默认情况下,此命令会提供详细输出,内容比较多,有很多或许用不到。

通过添加选项-sb能够减少输出信息,避免冗长无用的信息输出:

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

这样,使用git st命令就可以输出清晰明了的信息。

2. Git log --oneline

创建一个别名以单行显示提交,以获得更紧凑的输出:

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

3. Git last commit

显示有关你最近提交修改的详细信息:

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

用这个别名来查看最近一次提交的修改:

$ git last
commit f3dddcbaabb928f84f45131ea5be88dcf0692783 (HEAD -> branch1)
Author: ricardo <ricardo@example.com>
Date:   Tue Nov 3 00:19:52 2020 +0000

    Commit to branch1

 test2 | 1 +
 test3 | 0
 2 files changed, 1 insertion(+)

4. Git commit

在对Git存储库进行更改时,会大量使用git commit。

利用别名使git commit -m命令更高效:

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

5. Git remote

git remote -v命令列出所有已配置的远程存储库,用别名rv来缩短它:

$ git config --global alias.rv 'remote -v'

6. Git diff

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

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

标准的git diff命令对于较小的更改可以正常工作。

但是对于更复杂的操作,可以使用诸如vimdiff之类的外部工具来使其更加有用。

使用vimdiff创建别名dv以显示差异,并使用-y参数跳过确认提示:

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

使用如下命令可以对比两个文件的差异:

$ git dv 33559c5 ca1494d file1

7. Git config list

gl别名使列出所有用户配置变得更加容易:

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

8. Git search commit

Git别名使您可以在前缀前面加上!来定义更复杂的别名,例如执行外部Shell命令。

你可以使用它来执行自定义脚本或更复杂的命令,包括shell脚本。例如,定义se别名以在提交中搜索:

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

利用这个别名可以在提交中搜索匹配字符串信息:

$ git se test2
0baa729c1d683201d0500b0e2f9c408df8f9a366:file1:test2
ca1494dd06633f08519ec43b57e25c30b1c78b32:file1:test2

自动更正别名

使用Git别名的一个高效的途径,除了上述介绍的8个常用的别名,Git还支持自动更正功能。

如果输入有误,默认情况下,Git建议使用与您键入的命令相似的命令,包括别名。

例如,如果您输入ts而不是st作为状态,则Git将建议正确的别名:

$ git ts
git: 'ts' is not a git command. See 'git --help'.

The most similar command is
        st

如果启用了自动更正,Git将自动执行正确的命令:

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

结语

git是一款开发者必备的工具,无论是前端、后端、算法,如果涉及团队开发,就很难绕过git。

本文只是介绍了一些git高级用法,如果你还不具备git的基本知识,可以系统的学习一下它的常用命令,分支、标签、合并、回滚、版本管理等等,都值得详细了解一下。

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值