1.svn记录的是每一次版本变动的内容
2.git则是将每个版本独立保存。所以git的分支管理是王牌(后续详解)
3.普通程序员吧很多时间放在写代码和调BUG上,优秀的程序员将更多精力放在设计上
4.三棵树:工作区,暂存区,和git仓库。
5.git工作流程:
1.git工作流程一般是:
1.在工作目录中添加,修改文件
2.将需要进行版本管理的文件放入暂存区域
3.将暂存区域的文件提交到Git仓库
2.git管理的文件有三种状态:
- 已修改(modified)
- 已暂存(staged)
- 已提交(committed)
6.查看状态
git status
git reset 还原
git reset --mixed HEAD~【默认--mixed】
- 移动HEAD的指向,将其指向上一个快照【影响第三棵树】
- 将HEAD移动后指向的快照回滚到暂存区域【影响第二棵树】
git reset --soft HEAD~
- 移动HEAD的指向,将其指向上一个快照【影响第三棵树】
git reset --hard HEAD~
- 移动HEAD的指向,将其指向上一个快照【影响第三棵树】
- 将HEAD移动后指向的快照回滚到暂存区【影响第二棵树】
- 将暂存区的文件还原到工作目录【影响第一棵树】
git reset 版本快照号【不仅可以往回滚,还可以往前滚】
- 回滚到指定版本
git reset 版本快照 文件名/路径【HEAD指针不会改变】
- 回滚个别文件
git checkout 将暂存区文件覆盖工作区文件【有风险的命令:stage->working directory】
git log 查看历史提交
比较暂存区域与工作目录
git diff
比较两个历史快照
git diff 快照ID1 快照ID2
比较当前工作目录和Git仓库目录的对比
git diff 快照ID
比较当前工作目录与最新Git仓库目录比较
git diff HEAD
比较暂存区与仓库目录
git diff --cached [快照ID]
[以上学习笔记来自小甲鱼git学习视频]