分支:相当于开了一个新的版本库,可以和其他版本库并存
master:主分支名字 — 一般是稳定的版本
一. git的三个区
工作区 — 项目编写的代码所在区
暂存区
— 作为过渡层
— 避免误操作
— 保护工作区和版本区
版本区(库) — 每个版本都会记录在上面(初始只有master)
二. git命令
1. 提交
git status — 查看工作区和缓存区的状态
如果没有要提交的内容会出现以下:
on branch master 在master主分支上
nothing to commit,working directory clean 没有任何要提交的,工作区是干净的
1.1 工作区 — 缓存区 — 版本区
1.11工作区 — 缓存区
git add demo1.html — 将demo1.html添加到暂存区
git add . —— 将所有新增修改添加到暂存区
[master +2 ~0 -0 ] — 工作区有2个新的文件,0个修改和减少了0个文件
[master +1 ~0 -0| +1 ~0 -0] — 绿的表示在缓存区,红色的表示在暂存区
1.12缓存区 — 版本区
git commit — 提交到版本区
git commit -m "注释内容" —— 直接添加版本注释
1.2 工作区 —— 版本区
git commit -a -m "注释" —— 先将工作区内容添加到缓存区,然后提交至版本库(省略add操作)
注:git log —— 查看提交历史(版本较多用回车键查看省略的历史版本,按q键可退出版本查看)
2. 对比
git diff — 对比的是工作区和暂存区的差异
+ var disX = 0; — 表示新增内容
- var disY = 0; — 表示删除内容
git diff --cached(--staged) — 对比的是暂存区和版本区
git diff master( 这里写分支名字 ) — 对比的是工作区和版本库
3. 撤销
git reset HEAD <file.name> — 缓存区撤回到工作区
git checkout <file.name> — 工作区还原到版本区
git commit --amend — 撤销上次版本,与本次版本合并生成新的版本(误提交后重新对这次提交进行重新操作,合并一次新的提交方案)
git add demo1.html
git commit -m "change3" --amend
4. 删除
git rm <file.name> — 把暂存区的文件删除( 工作区文件需删除,否则删除失败)
git rm --cache <file.name> — 把暂存区的文件删除(工作区保留)
git rm -f <file.name> — 把暂存区的文件和工作区的文件删除
5. 恢复
git checkout commit_id <file.name> — 恢复指定文件
git reset --hard commit_id — 恢复制定版本
git reset --hrad HEAD^ — 恢复到前面一个版本
git reset --hrad HEAD~<num> — 恢复到前面第num个版本
git reflog — 查找操作记录,可回到当前版本