![53f4d6e67d804c47fb4c64700f671c37.png](https://i-blog.csdnimg.cn/blog_migrate/3b730dc5f13c6e976706cbbc6e30beb5.jpeg)
Git生态中包含了很多的概念。只有理解了这些概念,才能对版本控制的操作了然于心,避免犯错。本人从转行做码农开始就使用Git,到现在已经有快三年的时间了。虽然一直在使用,基本算是处于勉强存活状态,不敢说对Git有足够了解。
废话不多说,直接来干货了:
![03cbf12b64561068a0b40d280a332553.png](https://i-blog.csdnimg.cn/blog_migrate/57194f55e3d06c9aa779733deab60a3c.jpeg)
![fec9fd68c13c346b85605b483a5bab1e.png](https://i-blog.csdnimg.cn/blog_migrate/fc5816e30100c9df0593e79bef2812e7.jpeg)
我们平时提到的Git的几个概念如上图所示,官方定义就不在此解释了,重点给大家摘录出来,注意对比上图来看:
- stash:临时存储
- Workspace::工作区
- Index或者Stage::暂存区
- Local Repository:本地仓库
- objects:Git对象库
一些结论
【1】git diff
git
【2】git reset & git checkout
git
git reset 有三个参数
- --soft 这个只是把 【HEAD】指向的commit恢复到你指定的commit,【暂存区】【工作区】不变。
- --hard 这个是 把 【HEAD】, 【暂存区】, 【工作区】都修改为指定的commit的文件状态。
- --mixed 这个是不加时候的【默认参数】,把【HEAD】,【暂存区】修改为指定的commit的时候的文件状态,工作区保持不变。
【3】git rm
git