Git源代码管理规范
一、分支管理
使用git进行源代码管理,一般将某个项目的所有分支分为以下几条主线:
1.Master
顾名思义,既然名字叫Master,那么该分支就是主分支的意思。master分支永远是production-ready的状态,即稳定可产品化发布的状态。
2.让座看图写话Develop新生儿吐奶怎么回事
这个分支就是我们平常开发的一个主要分支了,不管是要做新的feature还是需要做bug fix,都是从这个分支分出来做。在这个分支下主要负责记录开发状态下相对稳定的版本,即完成了某个feature或者修复了某个bug后的开发稳定版本。
3.Feature branches
这是由许多分别负责不同feature开发的分支组成的一个分支系列。new feature主要就在这个分支系列下进行开发。当功能点开发测试完毕之后,就会合并到develop分支去。
4.relea branches
这个分支系列从develop分支出来,也就是预发分支。在预发状态下,我们往往会进行预发环境下的测试,如果出现缺陷,那么就在该relea分支下进行修复,修复完毕测试通过后,即分别并入master分支后develop分支,随后master分支做正常发布。
5.Hotfix branches
这个分支系列也就是我们常说的紧急线上修复,当线上出现bug且特别紧急的时候,就可以从master拉出分支到这里进行修复,修复完成后分别并入master和develop分支。
下面这张图将完整展示这一个流程
阳台上的花
二、工作原理
Git的工作方式:
也就是说,每次提交版本变动的时候,git会保存一个快照(snapshot)。如果文件没有被更改,git也不会再次保存,而是提供一个到原来文件的链接。这样一来,git更像是一个小型的文件系统。此外,git的所有操作都可以是本地的,仅仅在将新版本的内容上传到服务器上时才需要连接网络。
Git目录(repository)是Git保存元数据和对象数据库的地方。这也是Git最重要的部分。
工作目录(working directory)是项目某个版本的内容。
暂存区(staging area)是一个简单的文件,通常包含在Git目录中。其中存储了将要进入下一次提交的信息。
商业街效果图
Git的基本工作流程如下:
1.在工作目录中修改文件。
2.标识(stage)文件,并将文件快照添加到暂存区。
3.执行commit,将获取暂存区中的文件,并将快照永久保存到Git目录中。
三、常用命令
1.创建工程
>> git init
2.提交修改
>> git add 后就从修改变为暂存
>> git commit 后就从暂存变为提交。
3.提交规范
在commit时,如果有对应PR(需求项),请在第一行写上PR号,然后再描述信息(另起行),并把涉及到改动的文件名附上。龙虾
4.回溯
改错了,不过还没有git add
>> git ret --hard
改错了,已经git add
>> git ret -q [files]
世界爱耳日(其实就是 git add 的反向操作)一杯牛奶英语
改错了,已经git commit
>> git ret --soft HEAD^
(其实就是 git commit 的反向操作)
已经git commit,忘记写注释(PR)或者漏提交了部分文件
如果添加注释可以直接执行命令 git commit --amend,填写注释保存
如果添加文件先执行 git add 后执行 git commit --amend
5.创建分支
查看分支
>> git branch
切换分支
>> git checkout [branch name]
创建分支(在当前代码的基础上)
>> git branch [branch name]
6.合并分支
荤香肉馅饺子先检出目标分支再把其他分支合并进去
>> git checkout [branch name]
>> git merge [other_branch]
7.删除分支
>> git branch -d [branch name]
(不能删?用这个!)
>> git branch -D [branch name]