Git 使用心得

xuzikuan12 | Sep 6, 2020 required to read

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),……:其他的颜色要用括号;

其他内容参照其他博客吧。

效果如下:

custom effect of git log

2. rebase 合并 commits

当在本地操作的时候,通常不会一个 commit 解决问题,而是要修改好几次才能完成。也就会在本地提交好多次,后面的提交通常都是小修小补。

这时如果能把这些为了一个功能而做的提交给合并了就好了。

rebase 就是来干这个的。命令为:

git rebase -i HEAD~n

-i,表示由用户来指定如何合并

n,表示数量

上面的命令是最基本的,表示把最近提交的 n 个提交包括进来,等待下一步操作。

下一步的界面如下:

folder limit

上面为你包含的最近的 3 次 commits。

前面的 pick 代表原封不动保留这次 commit,可以换成其他的,上面图中有对其他选项的说明。

这里我就用到了 squash,将选中的 commit 合并到前一个 commit,其他选项看起来很危险的样子,就不试试了。

完事儿没有 conflict 的话,合并就结束了,然后会让你选一下提交的备注,默认就是合并所有的备注。如图:

folder limit

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


下面是一些网上的博客(不断更新)

Git: git-reflog 的用法总结 - chaiyu2002 - 博客园

Git 撤销 & 回滚操作(git reset 和 get revert)