但是在日常开发中,大家的commit message千奇百怪,中英文混合使用、fix bug等各种笼统的message司空见惯,这就导致后续代码维护成本特别大,有时自己都不知道自己的fix bug修改的是什么问题。
虽然 Git 是一个强大的工具,但是我觉得大部分人都会同意我说的:它也可以是一个……噩梦!我一直觉得,使用 Git 的时候把操作过程在脑海里视觉化会非常有用:当我执行某个命令的时候,分支之间是如何交互的?又是如何影响提交历史的?
不过,在使用过程中,很多人觉得好用的 Git 学习曲线非常陡峭,这到底是为什么?我们在教新手时,能不能先让他们理解“fetch,观察,理解之后再决定是做 fast-forward 还是 merge 还是 rebase 还是 reset”?
type 为必填项,用于指定 commit 的类型,约定了 feat、fix 两个主要 type,以及 docs、style、build、perf、refactor、revert 六个特殊 type。xargs,是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。