从0开始学习 GitHub 系列之「05.Git 进阶」
关于 Git 相信大家看了之前一系列的文章已经初步会使用了, 但是关于Git还有很多知识与技巧是你不知道的,今天就来给大家介绍下一些 Git 进阶的知识。
1. 用户名和邮箱
我们知道我们进行的每一次 commit 都会产生一条 log,这条 log 标记了提交人的姓名与邮箱,以便其他人方便的查看与联系提交人,所以我们在进行提交代码的第一步就是要设置自己的用户名与邮箱。执行以下代码:
git config --global user.name "stormzhang"
git config --global user.email "stormzhang.dev@gmail.com"
以上进行了全局配置,当然有些时候我们的某一个项目想要用特定的邮箱,这个时候只需切换到你的项目目录,以上代码把 --global 参数去除,再重新执行一遍就ok了。
PS:我们在 GitHub 的每次提交理论上都会在主页的下面产生一条绿色小方块的记录,如果你确认你提交了,但是没有绿色方块显示,那肯定是你提交代码配置的邮箱跟你 GitHub 上的邮箱不一致,GitHub 上的邮箱可以到 Setting -> Emails 里查看。
2. alias
我们知道我们执行的一些 Git 命令其实操作很频繁的类似有:
git commit
git checkout
git branch
git status
...
这些操作非常频繁,每次都要输入完全是不是有点麻烦,有没有一种简单的缩写输入呢?比如我想直接输入以下命令代替:
git c
git co
git br
git s
...
是不是很简单快捷啊?这个时候就用到了 alias 了,翻译过来就是别名的意思,输入以下命令就可以直接满足以上的需求。
git config --global http://alias.co checkout # 别名
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.br branch
当然以上别名不是固定的,你完全可以根据自己的习惯去定制,除此之外还可以设置组合,比如:
git config --global alias.psm 'push origin master'
git config --global alias.plm 'pull origin master'
之后经常用到的 git push origin master 和 git pull origin master 直接就用 git psm 和 git plm 代替了,是不是很方便?
另外这里给大家推荐一个很强大的 alias 命令,我们知道我们输入 git log 查看日志的时候是类似这样的:
告诉大家一个比较屌的命令,输入
git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)然后日志这样了:
是不是比较清晰,整个分支的走向也很明确,但是每次都要输这么一大串是不是也很烦?这时候你就该想到 alias 啊:
git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)
3. 其他配置
当然还有一些其他有用的配置,默认情况下 git 用的编辑器是 vi ,如果不喜欢可以改成其他编辑器,比如我习惯 vim 。
git config --global core.editor "vim" # 设置Editor使用vim
你们如果喜欢其他编辑器可自行搜索配置,前提是本机有安装。
有些人纳闷我的终端怎么有各种颜色显示,自己却不是这样的,那是因为你们没有开启给 Git 输出着色,输入如下命令即可:
git config --global color.ui true
还有些其他的配置如:
git config --global core.quotepath false # 设置显示中文文件名
以上的配置基本就差不多了,默认这些配置都在 ~/.gitconfig 文件下的,你可以找到这个文件查看自己的配置,也可以输入 git config -l 命令查看。
4. diff
diff 命令算是很常用的,使用场景是我们经常在做代码改动,但是有的时候2天前的代码了,做了哪些改动都忘记了,在
GitHub 相关文章:
- 从0开始学习 GitHub 系列之「06.团队合作利器 Branch」(05-08)
- 从0开始学习GitHub 系列之「03.Git 速成」(04-26)
- 从0开始学习 GitHub 系列之「04.向GitHub 提交代码」(04-28)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)