Git Basic Principles

Git 是一个复杂而强大的版本管理系统,通常来说不止一种方式可以达到目的。因此无论过程复杂、丑陋或是精简、美丽,通常最终都能达到同样的结果。为了保持代码仓库的整洁,提出如下约定:

  1. 如果你从 master 上 checkout 了一个 feature/yigexuqiu 分支进行开发,在同步服务器端代码时不要使用 git pull,而要使用 git pull --rebase。否则因三方合并而产生的提交历史将变得复杂而丑陋。
  2. 不要为了修一个 bug 产生很多条 commit。学会使用git commit --amend来修补上次提交。如果已经产生了很多提交,可以通过 rebase 来 squash commit 以修补糟糕的历史。
  3. 原则上来说任何合入到服务器仓库的代码都不允许被回滚,因为他人可能已经基于这些 commit 在开发了。因此在往服务器上推送代码(及 pull request)之前,确保自己提交历史的整洁。