前面已经写过这是一篇成为 git 高手的文章 , 这篇文章是补充几个常用的命令。
看过前面的文章可能注意到,有些命令是不是很长,比如:
git log --graph --decorate --all
这么下是很累吧,那有没有办法可以简化呢? 当然可以,这里使用别名的方式,一般 安装 git 后默认会有一个全局 gitconfig 文件,它的位置
cd ~/
我们可以使用
cat ~/.gitconfig 查看内容
可以看到笔者将常用的几个指令进行了简化,比如 checkout 简化为 co 等等

那么你就可以使用, git fetchall 来拉去远程代码仓库。

通过 git lgall 查看所有的分支树

你可以直接使用我的:
[user]
name = your name
email = your email address
[alias]
co = checkout
br = branch
ci = commit
st = status
last = log -1 HEAD
fetchall = fetch --all -p
ap = "add -p "
lgall = log --decorate --all --graph
[color]
ui = auto
接下来还有一个命令,甩锅命令。就是当你和你的同事之间因为一段代码吵的不可开交的时候,这个命令就起作用了,它能让有的人尴尬,有的人开心。这个命令是 blame, 来看使用吧!
git blame 指定的代码文件
这里执行 git blame 123.txt, 可以看到创建者是谁,提交者是谁。看到这儿你还敢说不是你写的代码吗?

另外还有一个 reset 命令,很多人喜欢用这种方式切换分支。这种方式切换分支是不对的,最好采用 checkout, 因为 reset 的作用是用来将当前添加到本地代码仓库的文件重新回到未提交状态,当前你用作切换分支的实惠,如果切换回退的某一个文件和你当前版本的某一个文件内容不同,这个时候就会导致问题。
这里可以看到,我们添加了一个文件 readme.md

那如果这时候不想提交这个文件,我们可以将其 reset 到 add 的状态。
git reset HEAD readme.md

那切换分支是怎么操作呢?但是尽量不要这么操作。
git reset 3eaa2cb8105498bfcee9806ea496d80b43a32cd8

另外一个命令就是 bug 的查找和定位啦! git 提供了二分查找。其实它的远离很简单,就是将代码的提交历史,按着二分法不断缩小定位。
既然是用到二分查找,必然要有起点和终点
git bisect start [终点] [起点]
如果执行了, 就会将当前的 HEAD 执行中间的一次结果。这个时候你就可以通过查看当前的版本是否有问题,如果没有问题就执行 git bisect good, 这个就会将 HEAD 指向新的提交。
git bisect start HEAD 5df2ffb37f131f93fc1db775e1a7dd36674814c9
如果遇到当前的分支有问题,那么就执行
git bisect bad

最后使用
git bisect reset 退出查错,回到最近一次代码提交