「路飞项目06」git

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
posted @ 2023-06-25 19:30  雀雀飞了  阅读(21)  评论(0编辑  收藏  举报