一. 引子 在git操作中,我们可以使用checkout命令检出某个状态下文件,也可以使用reset命令重置到某个状态,这里所说的“某个状态”其实对应的就是一个提交(commit). 我们可以把一个git仓库想象成一棵树,每个commit就是树上的一个节点.家家都有一本自己的祖谱.祖谱记录了一个家族的生命史, 它不仅记录着该家族的来源.迁徙的轨迹,还包罗了该家族生息.繁衍.婚姻.文化.族规.家约等历史文化的全过程.类似的,每个git仓库都有一本自己的祖 谱,仓库中commit ID的繁衍,HEA…