git-线上分支合并

发布时间 2023-10-12 19:04:38作者: Maverick-Lucky

1. 线上分支合并

1.线下分支合并: git merge dev

2. 线上分支合并:

  - 公司有个主分支 ---》只保留大版本信息,真正的开发在dev分支开发

  - 你开发的代码,提交到dev的分支了,功能写完了,要给用户看了,把dev分支合并到主分支

  - 线上分支合并:

    提交:

      - pr:pull request(gitee)

      - mr:merge request(Gitlab)

3. 远端有分支,本地也有分支

  -1. 远程创建,本地拉取

    本地执行:git pull origin dev  ,git checkout dev

  -2. 本地创建,提交到远端

    本地执行:git branch dev1,git checkout dev,git push origin dev

操作步骤:

  -1. 远端创建dev分支

  -2. 本地 git pull origin dev

  -3. git branch  # 可能会查看不到分支,直接切换到远端的dev

  -4. dev 分支写代码,本地提交,推送到远端dev

  -5. 功能开发完了,普通开发者,提交pr

  -6. 管理员审查,测试通过 ---》同意合并 -----》 dev 就合并到master

# 咱们的分支结构:

  master dev bug 

  所有人在dev开发新功能,开发完,提交pr ---》 合并到master ---》结束

  master dev bug  每个开发者有个分支

  每个人在自己的分支进行开发,开发完,提交pr ---》合并到dev ---》你的功能开发完毕

  管理员自己 提pr ---》dev和master

2.  远程仓库回滚(我们不要去做)

1. 本地回到 初始化的状态(主分支)

  git reset --hard 初始化的版本号

2. 强制推送到远端

  git push origin master # 会失败

  git push origin master -f  # 执行这个命令,能够推送成功

3. 为开源项目贡献代码

1. fork 开源代码 ----》你仓库就有这个代码

2. clone 你仓库的代码

3. 写代码,提交到你仓库

4. 你仓库,提交pr ,你仓库的某个分支合并到别人的某个分支

5. 对方审核通过,同意,才OK

4. git 工作流,git pull 和git fetch,变基

1. git 工作流:git flow ----》分支方案

  我们没有采用

  - master dev bug,我们使用的

2. git pull 和 git fetch

  - get pull 从远程仓库拉取代码:从远程获取最新版本并merge到本地

  - git fetch 从远程仓库拉取代码:会将数据拉取到本地仓库 - 它并不会自动合并或修改当前的工作

  - git pull =git fetch + merge

3. 变基  rebase

  -1. 多个提交记录整合成一个

  -2. 解决多次合并分叉问题

5. pycharm 操作git

之前用命令做的所以操作,使用pycharm点点就可以完成

5.1 克隆代码

 5.2 提交到暂存区,提交到版本库,推送到远程

 5.3 查看日志

5.4 分支操作

5.5其他

 

 6. 登录注册页面分析

用户板块需要写的接口

  1. 用户名密码登录(多方式登录)

  2. 获取手机验证码接口

  3. 手机号+验证码登录

  4. 注册接口

  5. 验证手机号是否存在接口

6.1 验证手机号是否存在接口

视图类

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

7. 腾讯云短信申请

发送短信功能

  - 网上会有第三方短信平台,为我们提供api,花钱,向它的某个地址发送请求,携带手机号,内容---》它替我们发送短信

  - 腾讯云短信---》以这个为例

  - 阿里 大于短信

  - 容联云通信

1. 先申请一个公众号 -----》个人账号认证

2. 如何申请腾讯云短信:

  -1. 地址:https://cloud.tencent.com/act/pro/csms

  -2. 登录后,进入控制台,搜短信:https://console.cloud.tencent.com/smsv2

  -3. 创建签名:使用公众号

    - 身份证,照片

  -4. 模版创建

  -5 发送短信

    - 使用腾讯提供的sdk发送