1 线上分支合并
# 本地分支合并【可能有冲突】----》git merge dev
# 有主分支----》开发分支开发完了----》合并到主分支
# 将本地和远端的dev删除的话要分别删除
-本地:git branch -d dev 【此时不在dev分支上】
-远端:管理-删除
# 远端分支
1 '''远端创建dev分支----》本地没有,拉取一下就有了 git pull origin dev'''
-在远端创建:在网页中点点点创建分支,创建好的分支与主分支数据相同
-拉取到本地:git pull origin dev,此时git branch看不到分支dev
-切换过去才能看到:git checkout dev
2 '''本地创建dev分支----》远端没有,推送一下就有了 git push origin dev'''
-在本地创建:git branch dev
-推送到远端:git push origin dev
# 本地和远端现在都有了master和dev分支,本地dev分支更新后提交到远端dev,然后远端dev与远端master合并
1 本地的dev分支,删除一些数据
-提交到本地版本库
-推送到远程 git push origin dev
2 远程分支合并
-组员新建pull request---》pr或者mr(merge request)
-source源分支dev---》target目标分支master,不要搞反了
-组长审核---》同意---》dev就被合并到master
2 远程仓库回滚(你不要去做)
# 本地
git reset --hard 最初状态
git reset --hard 88aa1e64fa288af495ab6c283b139b7f7f0a237a
'''强推 :git push origin master -f 千万不要用'''
# 本地代码要提交,本地版本库的内容必须是最新的,git pull 就是最新
提示:更新被拒绝,因为您当前分支的最新提交落后于其对应的远程分支。
提示:再次推送前,先与远程变更合并(如 'git pull ...')。
3 为开源项目贡献代码
'''
1 gitee 找一个开源项目
2 点 fork---》复制一份到你的仓库中
3 在咱们仓库中,clone---》修改代码---》提交代码---》自己仓库
4 在自己仓库中提交pr---》我们本地dev分支申请提交到作者的dev分支
5 等作者审核过,同意,你就是贡献者了
'''
4 git工作流,git pull和git fetch,变基
# git 工作流:git flow---》就是分支方案
-我们没有采用,采用的是传统的主分支、开发分支和bug分支的方案。
# git pull和git fetch
-git pull 从远程仓库拉取代码:从远程获取最新版本并merge到本地
-git fetch 从远程仓库拉取代码:会将数据拉取到本地仓库 - 它并不会自动合并或修改当前的工作
-git pull =git fetch origin master + git merge FETCH_HEAD
# 变基 rebase 让提交记录更简洁
-1 多个提交记录整合成一个
-2 解决多次合并分叉问题
https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%8F%98%E5%9F%BA
# 好文当赏!
'''
变基的风险
呃,奇妙的变基也并非完美无缺,要用它得遵守一条准则:
如果提交存在于你的仓库之外,而别人可能基于这些提交进行开发,那么不要执行变基。
如果你遵循这条金科玉律,就不会出差错。 否则,人民群众会仇恨你,你的朋友和家人也会嘲笑你,唾弃你。'''
5 pycharm操作git
# 实际开发中,可以完全一点命令都不敲,通过pycharm 点巴点巴
# pycharm settings---> version control--->git--->path to git executable【配置好git】
# clone 代码
- 窗口顶部git---》clone---》URL&Directory
# git add 命令
- 右键---》git---》add
# git commit
-右键---》git---》commit directory
# git push
-右键---》git---》push
-窗口顶部菜单栏图标
# git 分支操作
-窗口右下方
# 实用的,代码对比
-右键---》git---》show diff # 本地和本地版本库的变化
-右键---》git---》compare with rivision # 当前文件与仓库中之前某个版本的该文件进行比较
-右键---》git---》rollback # 就是`checkout .`
# git日志
git reflog ;git log 命令 # 窗口左下方Git
补充
# 以后所有项目路径中不要带中文,计算机名也不要是中文
# 有时候从git拉下来的代码,打开,运行不了
-.idea--->把它删掉,重新打开项目即可
# git写了忽略文件
-一开始没写,已经提交了很多了,后来又想忽略掉,如何操作?
-删除掉后提交到版本库,然后向远端提交删除后的版本,再在本地新增文件就会被忽略。
# 没有被git管理的编辑器中文件,不小心删了,改了,想回退回去
pycharm右键---》Local History
6 登录注册页面分析
# 根据原型图分析出:要写的功能
1 多方式登陆接口【用户名、邮箱、手机号+密码登录】
2 验证手机号是否存在接口
3 手机号验证码登录接口
4 发送短信验证码接口
5 注册功能接口
6.1 验证手机号是否存在接口
# 路由
1 主路由:path('api/v1/user/', include('user.urls'))
2 分路由 from .views import UserView
from rest_framework.routers import SimpleRouter
router = SimpleRouter()
router.register('userinfo', UserView, 'userinfo')
urlpatterns = []
urlpatterns += router.urls
# views
from rest_framework.viewsets import ViewSet
from rest_framework.decorators import action
from .models import User
from utils.common_response import ApiResponse
from rest_framework.exceptions import APIException
class UserView(ViewSet):
# 验证手机号是否存在接口---》get请求---》跟数据库有关系,但不需要序列化----》自动生成路由
@action(methods=['GET'], detail=False)
def check_mobile(self, request, *args, **kwargs):
try:
mobile = request.query_params.get('mobile', None)
User.objects.get(mobile=mobile) # 有且只有一条才不报错,如果没有或多余一条,就报错
return APIResponse(msg='手机号存在')
except Exception as e:
raise APIException('手机号不存在')
'''以后核心逻辑都写在try里面'''
7 腾讯云短信申请
# 发送短信功能
-网上会有第三方短信平台,为我们提供api,花钱,向它的某个地址发送请求,携带手机号,内容---》它替我们发送短信
-腾讯云短信---》以这个为例
-阿里 大于短信
-容联云通信
# 申请一个公众号---》自行百度---》个人账号
# 如何申请腾讯云短信
-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
作业
# 1 今天讲的所有操作一遍
# 2 写完手机号是否存在接口
# 3 手机号(用户名,邮箱)密码登录接口
# 4 申请腾讯云短信
---------------
# 借助于redis:安装()
-https://github.com/tporadowski/redis/releases/
# 研究 websocket协议,集成都django项目,写一个聊天室
https://zhuanlan.zhihu.com/p/371500343
# websocket 实现不了,就用定时器+http