jgx0

今日内容概要

  • git冲突解决
  • 线上分支合并
  • 登陆注册页面(引入)
  • 手机号是否存在接口
  • 腾讯云短信申请

内容详细

1、git冲突解决

1.1 多人在同一分支开发,出现冲突

# 先将前端项目也做上传到 gitee
	cd 到项目路径下
	git init 
	git add .
	git commit -m "注释"
	git remote add origin https://gitee.com/liuqingzheng/luffy_api.git  # 添加一个远程仓库
	git push origin master  # 把本地仓库推到远程
    
    
    
# 张三改了567.txt的第二行加了lqz is nb----》提交到远端
# 我本地也567.txt的第二行加了lqz is nb----》准备提,提不上去,原因是你本地不是最新的代码

# 本地提交代码,本地必须把本地更新到最新--git pull, 只要git pull ,会把远端冲突的代码合并进来
<<<<<<< HEAD  # 冲突开始
lqz is big  # 这里是我的代码
=======
lqz is nb  # 这里是远端代码
>>>>>>> e2d67d7517d66d244f824a32e20d4dd43f4ffc4d  # 冲突结束


# 查看代码,如果是同样的功能,选择保留同事的,如果是不同功能,两个代码都保留,如果真的要删同事的代码,一定跟他说一声,最终结局冲突

# 解决冲突步骤:
	git add .
	git commit -m ''
	git pull origin master  # 每次提交代码之前 一定要先拉取代码 避免冲突
	git push origin master

1.2 分支合并出冲突

	git branch dev  # 创建分支

# 加入会冲突的diam
	git add .
	git commit -m '主分支加入了一行'
	git checkout dev  # 切换分支
	git status

# 加入会冲突的代码
	git add .
	git commit -m 'dev分支加入了一行'
	git checkout master
	git merge dev  # 合并分支

# 出现下面冲突
<<<<<<< HEAD
lqz is big
=======
lqz is very big
>>>>>>> dev

#手动解决冲突,再提交
	git add .
	git commit -m '分支合并冲突解决'

# 正常情况,合并完分支,就把dev删除,继续开发,再重新创建dev分支
	git branch -d dev  # 删除分支

2、线上分支合并

# 提交pull request---》提交pr---》提个合并分支请求


# 你提交pr---》你领导审核---》审核通过同意---》代码合并完成

# 本地某个分支加入了代码,提交到远端
# 在远端新建一个pull Request,选择要合并的两条分支---》提交了领导收到请求

# 看你的代码---》没有问题---》同意---》合并到分支中去,完成线上分支合并



### 拓展:
	1 线下分支合并后提交到线上
		本地dev ,master,本地把dev合到 master中后,push到master(有的公司不给你master的写权限)
  
	2 git flow,git变基,git fetch和git pull的区别
		git flow 大神提出的一种 git分支方案
        
		git 变基:
			1 多个记录整合成一个记录  
			2 解决分支合并分叉问题
            
		git fetch和git pull的区别:
			相同点 首先在作用上他们的功能是大致相同的,都是起到了更新代码的作用。
			不同点 git pull 类似于 git fetch+git merge
  
  
  
	3 pycharm操作git
		右下角可以操作分支
		原来用命令操作的,用图形化点点点都能完成,并且更直观且强大

	4 为开源项目贡献代码
		fork 开源代码---》你自己仓库有一份
		改你自己仓库的代码,提交到自己仓库
		你的仓库,跟它就不一样了
		提交pr,等作者审核,他是不是给你合进去,如果合进去了
  
  
	5 代码回退
		# 本地回退
			git reset --hard 41f8fd9609034b4eae822bcee2f723f7b60cbff2

		# 本地回退了 但远端还是最新
			把本地提交到远端
			git push origin master -f  # 强制提交 !!!在公司不能使用!!!

3、luffy项目:验证手机号是否存在接口

# pycharm打开路飞后端项目


# 访问:
	127.0.0.1:8000/api/v1/user/mobile/check_mobile?mobile=18953675222

路由:

# 在总路由下添加:
path('api/v1/user/', include('user.urls')),



# 到user/urls.py 添加:
from django.urls import path, include
from rest_framework.routers import SimpleRouter
from .views import UserView

router = SimpleRouter()
# 127.0.0.1:8000/api/v1/user/mobile/check_mobile
router.register('mobile', UserView, 'mobile')
urlpatterns = [
    path('', include(router.urls)),
]

视图类 user/views.py:

# 在user/views.py 写入:
from rest_framework.viewsets import ViewSet
from rest_framework.decorators import action
from .models import User
from rest_framework.exceptions import APIException
from utils.response import APIResponse


class UserView(ViewSet):
    # get 请求携带手机号,就能校验手机号
    @action(methods=["GET"], detail=False)
    def check_mobile(self, request):
        try:
            mobile = request.query_params.get('mobile')
            User.objects.get(mobile=mobile)
            return APIResponse()  # {code:100,msg:成功}-->前端判断,100就是手机号存在,非100,手机号步骤
        except Exception as e:
            raise APIException(str(e))  # 处理了全局异常,这里没问题

image

4、登陆注册页面(分析引入)

# 登陆和注册功能---》5个接口
	多方式登陆接口(手机号,邮箱,用户名 +密码)
    
	验证手机号是否存在接口
  
	发送短信验证码接口  # 借助于第三方发送短信:阿里,腾讯,容联云通讯,刚注册会送100条短信
    
	手机号+验证码登陆接口
    
	手机号+验证码+密码注册接口

5、腾讯云短信申请(引入,为了验证:发送短信验证码接口)

# 进入腾讯云官网:https://cloud.tencent.com/
	微信扫码登录
	找到控制台
	搜索短信 首次注册赠送一百条
	创建短信签名:
		国内短信-签名管理---》创建签名--》使用公众号提交申请---》审核
创建短信正文模板
		国内短信-正文模板管理---》创建正文模板--》等审核
发送短信
		发送短信两种方式:API,SDK
    
    
# 申请一个公众号:
	https://mp.weixin.qq.com/cgi-bin/loginpage?url=%2Fcgi-bin%2Fhome%3Ft%3Dhome%2Findex%26lang%3Dzh_CN%26token%3D2082783786
	个人,身份证

  
# 发送短信,按照文档来:
	https://cloud.tencent.com/document/product/382/43196
        
# api和sdk的区别
	api接口,咱们通过http调用腾讯的发送短信接口,腾讯负责吧短信发送到手机上,http的接口--》基于它来做,比较麻烦,麻烦在请求参数,携带很多,有的时候我们有可能找不到某个参数
    
	sdk:使用不同语言封装好了,只需要导入,调用某个函数,传入参数就可以发送,用起来更简单,区分语言,可能官方没有提供sdk
  
  
# 发短信sdk的使用
	3.x的发送短信sdk,tencentcloud 包含的功能更多,不仅仅只能发短信,还能干别的,但是咱们用不到
	pip install tencentcloud-sdk-python
    
	2.x发送短信sdk:
	https://cloud.tencent.com/document/product/382/11672
	只是发短信的sdk,功能少,python3.8以后不支持
	pip install qcloudsms_py

image

分类:

技术点:

相关文章: