主分支:master
开发分支:feature
测试分支:release
标签:tag
1、打标签操作
- 查看标签 git tag -l // --list
- 创建附注标签 git tag -a 标签名 -m '附注信息'
注意:如果没有-m,git会启动一个编辑器让你写入附注信息 - 查看便签信息和提交信息的对应内容 git show 标签名
2、版本迭代流程
- 1)提交代码到开发feature分支
- 2)自测,测试部在开发环境下测试
- 3)开发环境出现问题,修改bug后提交到开发分支feature
- 4)开发环境下测试完成后,将版本分支代码合并到release分支 git merge feature
- 5)提交测试环境版本(走jira流程)
- 6)版本在测试环境下发现bug,开发人员修改后,提交到release分支
- 7)修改后,提一个patch
- 8) 测试环境下完成后,由测试人员流转到保障
- 9) 版本流转到保障后,将release分支合并到master git merge release
- 10) 从master主分支打一个tag v1.0.0.1。至此,这个版本是没有问题的了
-
11) 从master新建一个V1002分支,开始二期迭代开发。(这个v1002类似之前的feature分支,因此操作按照上述再来一遍)。
3、分支代码合并,并打tag
- 1)在分支上开发完成后,进入测试部测试之后,没问题,推到生产环境后,可以将分支代码合并到master分支,然后打个tag,方便出了问题,回退回去。
- 2)具体操作:
- git checkout master (从分支切换回主分支)
- git merge release (将分支代码合并到主分支上)
- git push origin master (将本地合并好的代码,推送到远程主分支上)
- git tag V1.0.0.1 (在主分支上打tag标记)
- git push origin V1.0.0.1 (将本地tag标记推送到远程)
4、查看远程分支并删除已经合并的分支
- git branch -a (查看远程分支)
- git push origin --delete <branchName> (删除远程分支和tag)
-
删除远程分支后,使用git branch -r 查看远程分支的时候,仍旧可以看到已经删除的远程分支,原因是因为本地checkout到这个分支上
使用 git remote show origin 查看远程分支的详细状态
提示使用 git remote prune 删除远程分支
5、拉取代码,本地有修改,先暂存
- 1.git stash save "save XXXX" (将本地代码回滚至上次提交的时候)
- 2.git stash list (查看暂存的list)
- 3.git pull (将远程代码拉下来更新为最新的代码)
- 4.git stash pop (将第一步的回滚代码释放出来,相当于对本地代码和远程代码进行合并)