# 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 #把修改的、删除的加到缓存

    1. 本地缓存添加到文件库中 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