写点什么

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

用户头像
Jackpop
关注
发布于: 42 分钟前

文末有干货!


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


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


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



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


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

定义别名

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


$ git config --global alias.p 'push'
复制代码


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


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


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


$ git p
复制代码


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


$ git config --global -luser.name=ricardouser.email=ricardo@example.comalias.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 lastcommit 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 test20baa729c1d683201d0500b0e2f9c408df8f9a366:file1:test2ca1494dd06633f08519ec43b57e25c30b1c78b32:file1:test2
复制代码

自动更正别名

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


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


例如,如果您输入 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'.## branch1?? test4
复制代码

结语

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


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



干货推荐

为了方便大家,我花费了半个月的时间把这几年来收集的各种技术干货整理到一起,其中内容包括但不限于 Python、机器学习、深度学习、计算机视觉、推荐系统、Linux、工程化、Java,内容多达 5T+,我把各个资源下载链接整理到一个文档内,目录如下:



![点击并拖拽以移动]


所有干货送给大家,希望能够点赞支持一下!


https://pan.baidu.com/s/1eks7CUyjbWQ3A7O9cmYljA(提取码:0000)

发布于: 42 分钟前阅读数: 2
用户头像

Jackpop

关注

还未添加个人签名 2020.09.16 加入

公众号:平凡而诗意,微信:code_7steps,全网粉丝超20万,技术进阶、优质资源、实用工具,欢迎关注!

评论

发布
暂无评论
开发者必备神器,你真的会用吗?