首先git是分布式版本管理控制系统,在他的架构中分为以下几个区域
图中每一个流程代表一个开发人员
git reset 命令之 --hard --mixed --soft 的区别
命令:git reset --hard 版本号
- soft:仅仅移动当前Head指针,不会改变工作区和暂存区的内容;即回到将文件修改好并且执行add命令后
- mixed:是reset的默认参数,移动head指针,改变暂存区内容,但不会改变工作区 ;即回到将文件刚刚修改好的时候
- hard:当前head指针、工作区和暂存区内容全部改变 ;即回到指定版本(自己在改指定版本上的修改全部删除)
git checkout
命令:git checkout 文件名
- checkout 文件名:使用暂存区的文件覆盖工作区
所以执行完git add .之后,再执行该命令是无效的 git checkout 和git add是一对反义词;
比如一个文件我写了3行文字并且add到了暂存区,在还没有提交的时候我又追加了2行,此时文件是5行,就在此时我发现我后边追加的2行是错误的,这个时候我就可以使用checkout命令,使用暂存区的文件覆盖工作区的文件
命令:git chec