2020年3月12日15:42:41 更新 实操了一次hotfix 惊心动魄… 来更新下
2020年7月29日10:53:32 更新 删除一些无意义的话….
2021年2月26日23:06:22 合并文档
分支管理
git checkout -b dev
相当于一下两条命令git branch dev
分支创建git checkout dev
分支切换
git branch -d dev
分支删除
git branch
查看当前所有分支
分支管理
通常Git会使用Fast forward
模式 这样删除分支后会丢失分支的信息
可以再merge的时候加入--no-ff
这样就能解决问题git merge --no-ff -m "merge with no-ff" dev
由于禁用Fast forward
后
会生成新的commit所以需要加入 -m "merge with no-ff"
暂存代码
git stash 可以储存当前的工作区 恢复到上一次commit后
git stash list 查看储存的工作区列表
git stash apply stash@{0} 恢复指定的储存
git stash pop 恢复并drop最近的存储 慎用这个 建议使用上边的
实际工作中分支的应用
主分支
- master: 这个分支最稳定, 相当于放的可发布版本
- develop: 开发分支, 平行于master分支, 负责合并各种
用于开发子功能
的分支
支持分支:解决某个问题, 结束后合并回master
或develop
分支
- feature功能分支, 用于开发一个个子功能, 来自
develop
合并到develop
去 - release:发布分支, 用于修改版本号等小修改, 来自
develop
分支合并到master
分支 - hotfixes:紧急修复bug分支, 从
master
创建, 合并回develop
分支和master
分支
develop分支完成了操作, 准备发布新的版本
从 develop 分支上创建 release 分支: |
新版本完成之后
推送master分支 |
本地和远程分支和tag的删除
本地 |
commit 规范
阮一峰 Commit message 和 Change log 编写指南
Angular 规范.
每个commit message 包括三分部
Header Body 和 Footer
<type>(<scope>): <subject> // 必须 |
Header
- type 必需 - 说明commit的类别, 只允许下面七个标识
- feat:新功能(feature)
- fix:修补bug
- docs:文档(documentation)
- style: 格式(不影响代码运行的变动)
- refactor:重构(即不是新增功能,也不是修改bug的代码变动)
- test:增加测试
- chore:构建过程或辅助工具的变动
scope 非必需 - 用于说明 commit影响的范围
比如登录、注册、充值逻辑等等,视项目不同而不同。subject 必需 - commit 目的的简短描述
- 不超过50字符
- 第一人称现在时动词开头
- 首字母小写
- 句尾不加句号
Body
本次commit的详细描述, 可以分成多行
Footer
只用于两种情况 目前用不动 不摘了
撤销add 以及 撤销 commit
撤销add: git reset 111.txt
撤销创建仓库后的第一次commit git update-ref -d HEAD
不删除工作空间改动的代码, 撤销commit 撤销 git add git reset --mixed HEAD^
对应默认git reset HEAD^
不删除工作空间改动的代码, 撤销commit 不撤销 git add git reset --soft HEAD^
删除上次commit之后工作空间改动的代码, 撤销commit 撤销 git add 代码回复到上一次提交结束git reset --hard HEAD^
这会直接让撤销的commit代码丢失
恢复git reset --hard
使用git reflog
查看历史记录
$ git reflog |
修改commit内容 git commit --amend
Merge和Rebase
$ cat 111.txt(master) |
Merge
在master分支使用git merge develop
, 提示有冲突
$ git merge develop(master) |
Rebase
在develop分支进行rebase操作, 将develop的base改为master分支
$ git rebase master (develop) 提示develop分支的第一次提交和master的最新提交有冲突 |
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。