learn-git

  • Svn等版本管理体系,管理的是文件,而git管理的是变化
  • commit实际上是每次提交的最小单位,add只是把修改丢到暂存区,在commit后才会把暂存区中的内容全部打包为一个commit
  • 一个个commit,会串成一条线,类似时间轴;时间轴上每个节点就是一个commit,对应于当前所有文件的状态
  • reset只是将当前时间轴的HEAD指针重新设置到指定节点,并不影响当前所有文件的状态,所以reset既可以向前,又可以向后;在加上–hard才会强制在改变时间轴的同时,把所有当前的文件状态页回退到那个节点的状态
  • git checkout – file 命令,意为把file的状态回退到file最近一次被add或者commit之前的状态