l master分支为主分支(保护分支),不能直接在master上进行修改代码和提交
l develop分支为测试分支,所以开发完成需要提交测试的功能合并到该分支
l feature分支为开发分支,大家根据不同需求创建独立的功能分支,开发完成后合并到develop分支
l fix分支为bug修复分支,需要根据实际情况对已发布的版本进行漏洞修复
type(scope):subject
type:用于说明commit的类别,规定为如下几种
l feat:新增功能;
l fix:修复bug;
l docs:修改文档;
l refactor:代码重构,未新增任何功能和修复任何bug;
l build:改变构建流程,新增依赖库、工具等(例如webpack修改);
l style:仅仅修改了空格、缩进等,不改变代码逻辑;
l perf:改善性能和体现的修改;
l chore:非src和test的修改;
l test:测试用例的修改;
l ci:自动化流程配置修改;
l revert:回滚到上一个版本;
相关命令
git reset –hard id(id为提交版本id)
git reset –hard HEAD^
git reset –hard HEAD~n(n为时间往前第n个提交)
git log
git log –pretty=oneline
git reflog
相关问题:
如何恢复已经删除掉的分支?
在记得提交号的情况下,可以使用 git reset –hard id的方式来将指针指向已删除的分支内容。如果提交号不记得的情况下,也是有办法恢复已删除的分支的。首先通过git reflog来获取近期的每一次命令,然后查找删除分支最近的一次提交,找到提交号,则又可以顺利的取回分支内容。
相关命令
git stash 将工作区隐藏
git stash list 获取隐藏工作区列表
git stash pop 获取最上面一个隐藏工作区代码并删除
git stash apply 获取最上面一个隐藏工作区代码,但不删除
git stash drop 删除最上面一个隐藏工作区代码
git stash apply stash@{0} 获取指定位置的隐藏工作区代码
相关问题:
当下正在进行dev代码开发,突然来了生产bug1.0需要及时修复,但是dev下开发的代码又没提交,这个时候该如何操作?
先通过git stash 将当前工作区代码隐藏到栈中,保存临时状态。再切出一个fixbug分支来解决问题,当问题解决后,通过git stash pop取回隐藏到栈中的工作区代码,继续dev的开发。通过git stash pop命令取回工作区代码的同时,还会将栈中之前推进去的代码删除。git stash list是查看所有临时工作区代码。也可以通过git stash apply stash@{0}来精确恢复栈中的代码。
规则
l 忽略文件中的空行或以井号(#)开始的行将会被忽略。
l 可以使用Linux通配符。例如:星号(*)代表任意多个字符,问号(?)代表一个字符,方括号([abc])代表可选字符范围,大括号({string1,string2,...})代表可选的字符串等。
l 如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。
l 如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。
l 如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。
相关命令
git commit –amend
问题
代码已经提交到git库,leader审核的时候发现有个Java文件代码有点问题,于是让你修改,并且代码又不需要丢弃,只需要修改相关源码,修改完成后Add后,需要将上次修改的message也修改掉。
可以执行上述命令,进入vim编辑器,然后按c进入编辑状态,编辑完成后按esc退出编辑模式,最后按大写的ZZ即可保存并退出vim编辑器。如果不修改message,仅仅只是对上一次提交进行修改(不做为新的提交),则在上述命令后加上—no-edit即可。