分支说明
- master分支:存储正式发布的产品,master 分支上的产品要求随时处于可部署状态。master 分支只能通过与其他分支合并来更新内容,禁止直接在 master 分支进行修改。
- develop分支:汇总开发者完成的工作成果,develop 分支上的产品可以是缺失功能模块的半成品,但是已有的功能模块不能是半成品。(例:ios 送审版本)
- sprint分支:当要开发产品线新功能或者试验新功能时,从 master 分支创建一个新的 sprint 分支,并在 sprint 分支上进行开发。开发完成后,需要将该 sprint 分支合并到对应 test 分支提测,测试通过后,删除该 sprint 分支。
- hotfix分支:当 master 分支中的产品出现需要立即修复的 bug 时,从 master 分支上创建一个新的 hotfix 分支,并在 hotfix 分支上进行 bug 修复。修复完成后,需要将 hotfix 分支合并到 master 分支,最后删除 hotfix 分支。
- feature分支:当要开发与产品线无关,公用方法、组件等模块,从 master 分支创建一个新的 feature 分支,并在 feature 分支上进行开发。开发完成后,需要将该 feature 分支合并到对应 test 分支提测,测试通过后,删除该 feature 分支。
- test分支:存储功能以开发完成的工作分支,便于测试人员测试
分支命名规范 - master分支:master 分支只有一个,名称即为 master。
- develop分支:develop 分支只有一个,名称即为 develop。
- feature分支:feature-<功能名>-<版本号>,例如:feature-login-v1.0.0。
- hotfix分支:hotfix-<问题简述>-<版本号>,例如:hotfix-login-v1.0.0。
- sprint分支:sprint-<功能名>-<版本号>,例如:sprint-login-v1.0.0。
- test分支:test-<功能名>-<版本号>,例如:test-login-v1.0.0。
提交信息规范
提交信息应该描述“做了什么”和“这么做的原因”,必要时还可以加上“造成的影响”。 例子 1:页面添加支付方式 14-微信支付 例子 2:ios 送审版本,弹层增加关闭按钮 注意事项 开始工作前一定要保证选择了正确的分支。 开始工作前定义好要做的事情,这将有助于确定从哪个分支开始工作和确定新分支的名称。 Git 应该是一个用于记录结果而不是保存工作的工具。这意味着,应该在完成了一个功能模块时才进行提交,而不是每做一点改动就立即提交。过于密集的提交将会使重要的信息分散在大量无意义的信息中,增加管理的难度
Git 命令参考
branch
- git branch 显示本地分支
- git branch -a 显示所以分支(包括远程分支)
- git branch -D xxx 删除本地某分支
checkout - git checkout xxx 切换到某个分支
- git checkout -b xxx 新建一个分支,并切换到该分支
push - git push 将当前分支推送到当前分支已配置的远程分支
- git push -f 强行将当前分支推送到当前分支已配置的远程分支。可能导致远程存储库丢失提交!!!小心使用。
- git push -u origin xxx 将当前分支推送到远程分支
- git push origin :xxx 在origin中匹配某个分支,并删除它
fetch - git fetch 获取最新远程到本地
- git fetch --prune 获取最新远程到本地,并删除不存在的分支
reset - git reset HEAD^ === git reset HEAD~ 撤回一次commit提交 仅适用与push之前
- git reset --hard origin/xxx 将当前分支重置成origin/xxx分支
- git reset HEAD <文件名> 将某个文件移出暂存区
revert - git revert HEAD 撤销上次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销作为一次最新的提交
rebase - git rebase xxx 合并xxx分支到当前分支
log - git log 显示提交日志
add - git add 将工作区的内容提交至缓存区
- git add -i 进入git状态管理
status - git status 显示工作树状态
commit - git commit -am ‘title’ 提交已修改和删除的文件,但是没有告诉Git的新文件不会受到影响
stash - git stash xxx 将更改保存在dirty工作目录中
- git stash pop 从dirty列表中删除单个隐藏状态并将其应用于当前工作树状态之上
- git stash list 展示dirty工作目录列表
|