# git 工作流
基本git操作流程 Git操作规范
# 无仓库->正常提交流程
- 1 分支创建必须从master上拉取 git clone [仓库地址] 
- 2 初始化一个本地仓库,在同级目录下会出现一个隐藏的.git文件 git init 
- 3 查看git的配置信息 git config -l 
- 4 创建分支 - 创建dev分支并且切换到dev分支 git checkout -b dev
- 建立远程分支 git push dev
 
- 5 查看分支 - 查看本地分支,分支前面带“*”表示当前分支,剩下的分支表示本地有的分支 git branch 查看本地和远程分支,白色表示本地有的,红色表示本地没有,仅远程有 git branch -a
 
- 6 删除分支 
- 删除本地分支 git branch -d [本地分支名] 如果删除不了强制删除 --- git branch -D [本地分支名] 删除远程分支 git push origin --delete [远程分支名] 
- 7 查看修改(更新、 删除、 添加等)文件(暂存区) 
- 8 提交本地修改 
git add . #把新增的、修改的都加到缓存 git add -A #把新增的、修改的、和删除的都加到缓存 git add -u #把修改的、删除的加到缓存
- 本地缓存添加到文件库中 git commit -m “message” #message: 可以写自己提交代码的备注
 
- 10 本地库的分支推送到远程服务器上对应的分支 git push -u origin/dev 远程已有dev分支但未关联本地分支dev 且本地已经切换到dev git push origin dev:dev 远程没有dev分支并,本地已经切换到dev git push 远程已有dev分支并且已经关联本地分支dev且本地已经切换到dev 
- 11 远程分支最新内容拉来下合并---git pull origin dev 
- 12 分支合并git merge [分支名] 将其它分支合并到当前分支 把本地分支dev合并master分支上 
- 首先切换到master分支上---git checkout master 
- 如果是多人(个人)开发的话 需要把远程master上的代码pull下来 git pull origin master 
- 然后我们把分支v1.1.1的代码合并到master上 ------git merge dev 然后查看状态------git status 及执行提交命令 ----git push origin master 
- 13 查看本地添加了哪些远程分支地址 --- git remote 
- 14 查看本地添加了哪些远程分支地址(详细)---- git remote -v 
# 问题处理
# 1.冲突
- 情景一:在当前分支上,直接修改冲突代码--->add--->commit
- 情景二:在本地当前分支上,修改冲突代码--->add--->commit--->push
# 2.暂存
储藏更改:将当前更改的代码储藏起来,等以后恢复使用 git stash
- git stash pop
git stash pop 是弹出栈顶的一个 stash ,也就是最后一次存储的 stash。在存储多个stash ,想取出非栈顶的一个的情况下,是不适用的。这时要用: 
- git stash apply stash@{0} //通过 git stash list,查看本地所有的stash,如果我要恢复第一个就执行,如果不指定名字,git默认制定最近储藏
- git stash apply //恢复stash,但是stash内容并不删除
- git stash drop //在上面操作的基础上,以此来删除stash
- git stash list //查看全部的stash列表
- git stash clear //将stash空间清空
# 3.撤销(版本回退)
git reset --(soft|mixed|hard) <HEAD~(num)> |
| 指令 | 作用范围 | 
|---|---|
| --hard | 回退全部,包括HEAD,index,working,tree | 
| --mixed | 回退部分,包括HEAD,index | 
| --soft | 只回退HEAD | 
git合并 →