gitlab使用,线上分支合并,远程仓库回滚,为开源项目贡献代码,git工作流,git pull和git fetch,变基,pycharm操作git,登录注册页面分析,腾讯云短信申请

0 gitlab使用🍿

# 1 创建账号---》管理员审核
# 2 登录进去---》就能看到项目--(项目管理员把你添加成开发者了)

0.1 拉取项目

# 3 把代码clone下来,使用pycharm打开
# 4 写代码,本地提交
# 5 推送到远端---》先拉取代码


## 问题: 普通开发者,提交到master分支是不行的
	-创建一个dev分支---》提交到dev分支
    -后期由管理员做分支合并---》把dev合并到master中

0.2 如何往gitlab上上传一个项目

  • 步骤一:创建一个GitLab账户

如果你还没有GitLab账户,首先需要在GitLab官网上注册一个账户。
请确保你输入的信息都是真实有效的,并遵守GitLab的使用规则。注册成功后,请记牢你的账号和密码。
  • 步骤二:创建一个新项目

登录你的GitLab账户后,你会看到一个主界面,上面会有你的个人资料和存储库列表。
在这个界面上,你可以创建一个新项目。点击“New Project”按钮,然后选择“Create Blank Project”或“Create from Template”选项。
如果你选择“Create Blank Project”,你需要手动填写项目名称、描述以及其他信息。
如果你选择“Create from Template”,你可以从现有的模板中选择一个来创建新项目。
无论你选择哪种方式,都需要填写必填项,并设置项目的可见性(公共或私有)。

注意:项目配置那里不要打钩,建一个空仓库

  • 步骤三:在本地电脑上创建一个新的Git仓库


现在你需要在本地电脑上创建一个新的Git仓库,以便将你的本地代码上传到GitLab上。
打开终端或命令行窗口,然后切换到你要创建仓库的目录中。输入以下命令以创建一个新的仓库:

$ git init

这将在你的当前目录中创建一个新的Git仓库。你可以使用“git status”命令来查看当前仓库的状态。
  • 步骤四:将你的代码添加到Git仓库中


现在你需要将你的项目代码添加到本地Git仓库中。确保你已经在终端或命令行窗口中,进入了你的项目所在目录。
然后,输入以下命令以在仓库中添加你的代码:

$ git add .

这将把你的代码添加到本地Git仓库中。
  • 步骤五:提交你的代码到本地仓库中

现在你需要提交你的代码到本地Git仓库中,以便上传到GitLab中。输入以下命令以提交你的代码:

$ git commit -m "Initial commit"

这将提交你的代码到本地Git仓库中,并为这个提交添加一个说明。

  • 步骤六:将本地Git仓库链接到GitLab

打开你的GitLab账户,然后进入新项目页面。在这个页面上,你会看到一个“Clone”按钮,点击这个按钮,
然后复制Git仓库的URL地址。



在终端或命令行窗口中输入以下命令,以将你的本地Git仓库链接到GitLab中:

$ git remote add origin [Git仓库URL]

将上述命令中的“[Git仓库URL]”替换为你从GitLab中复制的URL地址。

  • 步骤七:将你的代码推送到GitLab

最后,你需要将你的代码推送到GitLab中,这样他人才能访问你的代码。输入以下命令,以将你的代码推送到GitLab中:

$ git push origin master

这将把你的代码推送到GitLab中,并将它们存储在GitLab的存储库中。

1 线上分支合并🍿

# 线下分支合并
	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

2 远程仓库回滚(自己不用去做)🍿

# 1 本地回到 初始化的状态(主分支)
	git reset --hard 9cac70d
    
    
# 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
	-git pull 从远程仓库拉取代码:从远程获取最新版本并merge到本地
    -git fetch 从远程仓库拉取代码:会将数据拉取到本地仓库 - 它并不会自动合并或修改当前的工作
    -git pull =git fetch +merge
    
    

#3 变基 rebase
	-1 多个提交记录整合成一个
    -2 解决多次合并分叉问题

5 pycharm操作git🍿

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

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):
        try:
            # 取出前端传入手机号
            mobile = request.query_params['mobile']
            # 去数据中查询,是否存在即可
            User.objects.get(mobile=mobile)  # 有且只有一个才不报错,否则报错
        except MultiValueDictKeyError as e:
            raise Exception('您没有携带手机号')
        except User.DoesNotExist:
            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发送
        -https://cloud.tencent.com/document/product/382/43196
posted @ 2023-10-12 17:08  毓见  阅读(95)  评论(0)    收藏  举报