# 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合并 →