gitlab使用、线上分支合并、远程仓库回滚、为开源项目贡献代码、git工作流,git pull和git fetch,变基、pycharm操作git、登录注册页面分析、腾讯云短信申请
gitlab使用
# 1 创建账号---》管理员审核 # 2 登录进去---》就能看到项目--(项目管理员把你添加成开发者了) # 3 把代码clone下来,使用pycharm打开 # 4 写代码,本地提交 # 5 推送到远端---》先拉取代码 ## 问题: 普通开发者,提交到master分支是不行的 -创建一个dev分支---》提交到dev分支 -后期由管理员做分支合并---》把dev合并到master中
线上分支合并
# 线下分支合并 git merge dev # 线上分支合并 -公司有个主分支---》只保留大版本信息,真正的开发在dev分支开发 -你开发的代码,提交到dev分支了,功能写完了,要给用户看了,把dev分支合并到主分支 -可以线下分支合并,合并完,推送上去--》没有权限,只能仓库管理员来做 -线上分支合并: 提交:pr:pull request mr:merge request # 远端有分支,本地也有分支 -1 远程创建,本地拉取 本地执行:git pull origin dev ,git checkout dev -2 本地创建,提交到远端 本地执行:git branch dev1,git checkout dev1,git push origin dev1 # 操作步骤: - 1 远端创建dev分支 - 2 本地 git pull origin dev - 3 git branch 查看看不到,直接checkout 到dev分支就可以了 - 4 dev分支写代码,本地提交,推送到远端dev - 5 功能开发完了,普通开发者,提交pr - 6 管理员点审查,测试通过--》同意合并---》dev就合并到master # 咱们分支结构: master dev bug 所有人在dev开发新功能,开发完,提交pr---》合并到master---》结束 master dev bug 每个开发者有个分支 每个人在自己分支开发,开发完,提交pr---》合并到dev---》你的功能开发完毕 管理员自己 提pr---》dev和master
远程仓库回滚
# 1 本地回到 初始化的状态(主分支) git reset --hard 9cac70d # 2 强制推送到远端 git push origin master # 失败 git push origin master -f
为开源项目贡献代码
# 1 fork 开源代码----》你仓库就有这个代码 # 2 clone你仓库的代码 # 3 写代码,提交到你仓库 # 4 你仓库,提交pr 你仓库的某个分支 合并到别人的某个分支 # 5 对方审核通过,同意,才ok
git工作流,git pull和git fetch,变基
#1 git 工作流:git flow---》分支方案 -我们没有采用 -master dev bug #2 git pull 和 git fetch -git pull 从远程仓库拉取代码:从远程获取最新版本并merge到本地 -git fetch 从远程仓库拉取代码:会将数据拉取到本地仓库 - 它并不会自动合并或修改当前的工作 -git pull =git fetch +merge #3 变基 rebase -1 多个提交记录整合成一个 -2 解决多次合并分叉问题
pycharm操作git
克隆代码
提交到暂存区,提交到版本库,推送到远程
查看日志
分支操作
其他
登录注册页面分析
# 用户板块需要写的接口 1 用户名密码登录(多方式登录) 2 获取手机验证码接口 3 手机号+验证码登录 4 注册接口 5 验证手机号是否存在接口
验证手机号是否存在接口
视图类
from django.shortcuts import render # Create your views here. from django.utils.datastructures import MultiValueDictKeyError from rest_framework.viewsets import ViewSet from rest_framework.decorators import action from .models import User from utils.common_response import APIResponse class MobileView(ViewSet): # @action(methods=['GET'], detail=False) # def check_mobile(self, request, *args, **kwargs): # # 取出前端传入手机号 # mobile = request.query_params.get('mobile') # # 去数据中查询,是否存在即可 # user = User.objects.filter(mobile=mobile).first() # if user: # return APIResponse(msg='手机号存在') # else: # return APIResponse(code=101, msg='手机号不存在') @action(methods=['GET'], detail=False) def check_mobile(self, request, *args, **kwargs): try: # 取出前端传入手机号 mobile = request.query_params['mobile'] # 去数据中查询,是否存在即可 User.objects.get(mobile=mobile) # 有且只有一个才不报错,否则报错 except MultiValueDictKeyError as e: raise Exception('您没有携带手机号') # except ObjectDoesNotExis as e: # # raise Exception('手机号不存') except Exception as e: raise Exception('未知错误,请联系系统管理员') return APIResponse(msg='手机号存在')
路由
from rest_framework.routers import SimpleRouter from .views import MobileView router = SimpleRouter() # 127.0.0.1:8000/api/v1/user/mobile/check_mobile/ ---get 请求 router.register('mobile', MobileView, 'mobile') urlpatterns = [ ] urlpatterns += router.urls
腾讯云短信申请
# 发送短信功能 -网上会有第三方短信平台,为我们提供api,花钱,向它的某个地址发送请求,携带手机号,内容---》它替我们发送短信 -腾讯云短信---》以这个为例 -阿里 大于短信 -容联云通信 #1 申请一个公众号---》自行百度---》个人账号 #2 如何申请腾讯云短信 -1 地址:https://cloud.tencent.com/act/pro/csms -2 登录后,进入控制台,搜短信https://console.cloud.tencent.com/smsv2 -3 创建签名:使用公众号 -身份证,照片 -4 模板创建 -5 发送短信 -使用腾讯提供的sdk发送 -https://cloud.tencent.com/document/product/382/43196