Commit e28518ba authored by 陈昊's avatar 陈昊

文档完成

parent d8c486b1
# git分支练习用项目 # git分支练习用项目
给项目成员拿来练习和使用git分支的项目 为了让项目成员能够熟悉的使用git的分支功能来更好的进行开发,特制作了本项目供所有项目成员练习
\ No newline at end of file 目的是让所有项目成员都能正确的使用git来对版本进行管理,而不是把git当成又一个svn
如果是不熟悉git使用的成员,建议先阅读[简单的git教程](https://git-scm.com/book/zh/v2)
本项目的分支分类参考了[这篇文章](http://www.ruanyifeng.com/blog/2012/07/git.html)
## 项目分支介绍
### master分支
这是项目的正式版本分支,只有项目的维护者可以操作该分支
通常,除了紧急bug修改直接push以外,该分支一般从develop分支合并而来
master分支包含每一次正式发布后的版本,不包括开发过程中的任何版本
### develop分支
这是项目的开发版本分支,项目成员负责的部分开发完成时应该把分支合并到此分支
若需要发布到正式站点,则需要向维护者发布合并请求,并等待维护者把develop分支合并至master分支
develop版本包含了每一次**完整的功能修改**的版本,不包括功能开发中途的版本
### 功能分支
功能分支应以“feature-”为前缀,当开发一个新功能时,应创建一个功能分支,并在功能开发完成后,将其合并到develop分支上
例如,开发用户登陆功能的时候,可以新建分支名为“feature-userlogin190315”,并在功能完成后将其并入develop分支
若功能开发完成后,产品表示不需要上线,也可以先挂着不合并到develop分支
当功能合并到develop分支后,应及时删除该分支
### bug修复分支
bug修复分支应以“fix-”为前缀,当一个版本遭遇bug时,创建一个bug修复分支,并将其合并到master和develop分支
典型的bug修复分支命名,如“fix-ch190315”
在完成bug修复后,应及时删除该分支
### release分支
仅由维护者使用的分支
在维护者担心本次发布可能会导致项目无法正常运行的时候,可以临时从develop分支下建立该分支,在确认项目可以正常运行后再合并到master分支
在完成合并以后,应及时删除release分支
## 如何操作分支
1. 创建并切换到指定分支
```
git checkout -b 分支名称
```
在进行具体任务的开发前,请使用该命令创建功能分支和bug修复分支。
2. 切换到指定分支
```
git checkout 分支名称
```
在切换分支前,记得先把当前的修改提交到自己的临时分支上。以确保切换过去的时候项目是干净的。
3. 把指定分支合并到当前分支
```
git merge 分支名称
```
权限调整后,开发人员只能把自己工作的临时分支合并到develop分支。而如果想要合并到master分支,则只能通过项目管理页面左侧的“合并请求”来建立请求,并让项目维护者进行合并
**合并分支时,一定要注意处理分支的冲突**
4. 删除临时分支
```
git branch -d 分支名称
```
当一个临时分支不再需要之后,应该将其删除以避免项目分支太多导致项目混乱
通常一个功能分支在合并到develop分支之后就可以删除了,而一个bug修正分支则必须等到维护人员将其合并到master分支以后才可删除
5. 关于合并分支时冲突的处理
具体参照本页顶部提及的[这篇文章](https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%9A%84%E6%96%B0%E5%BB%BA%E4%B8%8E%E5%90%88%E5%B9%B6)下方的“遇到冲突时的分支合并”一栏
## 作业
在本项目下面,有个名为work的文本文件,所有成员需要通过修改该文件来完成作业
每一个项目成员必须**按顺序**完成以下任务来完成作业:
1. 在任意目录下拉取本项目
2. 在develop分支下新建一个功能分支,命名为“feature-”+项目成员名字拼音或拼音缩写(如“feature-chenhao”)
3. 在新的分支上打开work.txt文件,在最后一行添加上自己的名字和当天日期,并换行(如“陈昊 2019-03-15”)
4. 完成修改后,提交到功能分支。**注意:是提交到功能分支,而不能直接提交到develop分支**
5. 确认提交成功后,将功能分支合并到develop分支
6. 删除功能分支,并推送develop分支到远程库
7. 发起合并请求,等待项目管理人将develop分支合并到master分支
8. **在项目管理人完成分支合并以后**,从master分支下新建一个bug修复分支,命名为“fix+”+自己的拼音缩写+当天日期(如“fix-ch190315”)
9. 在work.txt文件中,有自己的名字那一行的行末,添加文本“ bugfixed”+当天日期(如“bugfixed190315”)
10. 提交修改到bug修复分支,将其合并到develop分支以后,分别推送develop分支和bug修复分支到远程库,同时发起bug修复分支合并请求
11. 等待项目管理人把bug修复分支合并到master分支,任务完成
**注意:提交代码的时候记得遵守编码规范,不要使用没有意义的提交说明**
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment