Git 很强大,因此要好好学习 Git 的各种实用功能。
1. 定制 git log 打印效果
直接上命令:
git log --color --pretty=format:"%C(yellow)%h%Creset -%Cred%d%Creset %s %Cgreen(%ar)%Creset %C(bold blue)<%an>%Creset" -12 --graph
%Cred,%Cgreen,%Cblue:这几个可以直接加颜色;
%C(yellow),%C(bold blue),……:其他的颜色要用括号;
其他内容参照其他博客吧。
效果如下:

2. rebase 合并 commits
当在本地操作的时候,通常不会一个 commit 解决问题,而是要修改好几次才能完成。也就会在本地提交好多次,后面的提交通常都是小修小补。
这时如果能把这些为了一个功能而做的提交给合并了就好了。
rebase 就是来干这个的。命令为:
git rebase -i HEAD~n
-i,表示由用户来指定如何合并
n,表示数量
上面的命令是最基本的,表示把最近提交的 n 个提交包括进来,等待下一步操作。
下一步的界面如下:

上面为你包含的最近的 3 次 commits。
前面的 pick 代表原封不动保留这次 commit,可以换成其他的,上面图中有对其他选项的说明。
这里我就用到了 squash,将选中的 commit 合并到前一个 commit,其他选项看起来很危险的样子,就不试试了。
完事儿没有 conflict 的话,合并就结束了,然后会让你选一下提交的备注,默认就是合并所有的备注。如图:

注意一定是在合并仅在本地的 commits,如果之前已经推送到服务器,那就不要合并了,因为要 force push,那样就不太好了。
