--squash是个惯用法,在一个临时分支上随便、及时提交,弄好了后merge--squash到主分支上,再仔细写log。
先来说说 git 所保存的对象。对于 git 来说, commits ,文件, branches 都是一些对象。 commits 保存的是一些文本文件之间 diff (只对文本文件来说)。所谓的 merge 就是把那些 diff 在某些 commit 点上面重播( replay)一次。