Git整体工作流程

- Workspace:工作区
- Index / Stage:暂存区
- Repository:仓库区(或本地仓库)
- Remote:远程仓库
一 版本仓库:
1.通过命令 git init 把这个目录变成git可以管理的仓库

(会生成.git 文件)默认.git 文件不显示
2. git add xxxxx (将工作区的指定文件添加到 暂存区中)

没有任何提示,说明已经添加成功了
3. git commit -m ‘一些提交注释’ (把文件提交到本地仓库)

4. git status (查看是否有文件没有被提交)

展示说明没有任何文件未提交,但是我现在继续来改下readme.txt内容,之后开始修改reademe.txt内容后,再执行下:git status

展示说明没有任何文件未提交,但是我现在继续来改下readme.txt内容,之后开始修改reademe.txt内容后,再执行下:git status

readme.txt 文件已经被修改,但是未被提交的修改
(changes not stateg : 修改的文件 , Untracked files : 新增文件 , Unmerged path: 有冲突)


5. git diff xx ( 可以查看修改的内容)

二、版本回退:
如上,我们已经学会了修改文件,现在我继续对readme.txt文件进行修改,再增加一行,
内容为33333333333333.继续执行命令如下:

1. git log ( 查看提交的历史记录)

如果嫌上面显示的信息太多,我们可以使用 git log –pretty=oneline 演示如下:

2. git reset –hard HEAD^ (回退到上一个版本)

3. cat xxx (查看文件内容)

4. git reflog (查看所有历史记录(不受回退影响))

如果想恢复到原有到版本,从这里查看对应到版本号,执行: git reset –hrad 6fcfc89
三、 Git撤销修改 和 删除文件
1. 撤销修改
如果我现在修改了一些文件,但并没有提交到暂存区
简便方法:git checkout -- 文件名 即可实现
如果修改了一些文件,并且已经提交到了暂存区了,则没有效果了
2. 删除文件
rm xxx
删除任务后,只要没有提交到本地仓库(也就是说 没有commit ),通过git checkout — 文件名即可恢复
四、分支
- git checkout -b dev : 创建并切换分支 (等于 2、3 操作)
- git checkout xxx : 切换分支
- git branch xx : 创建分支
- git branch 查看当前分支
- git merge xx : 合并分支 (HEAD: 当前 ==== 下 合并分支的内容)

- git branch -d xx : 删除分支
五、Bug分支
在某些场景中,目前在当前的分支开发中,但突然发现此分支原有的一个功能有bug,但当前已经在此分支开发新但功能了,而且并不想提交,此时应该怎么办呢?
(1)git stash 能够保存当前的所有内容 (2)git checkout -b dev 去处理bug (3)git merge dev 合并分支,解决冲突 (4)git stash apply 恢复 (5)git stash drop 恢复的同时,删除 stash 对应的内容 (6)git stash list 查看 所以被保存的 stash
六、其他
git remote : 查看远程仓库信息
git remote -v : 查看详细信息
