GIT和github

一、Git

  1、git是一个用于帮助用户实现版本控制的软件。

     git的命令:

      git init              初始化

      git status          查看当前文件夹的状态

      git add  文件名     对指定的文件进行版本控制

      git add .          对指定文件夹下的所有文件及子目录进行版本控制

      git commit -m '详细的描述信息'   创建提交记录 (版本)

      git log              查看提交记录,即:历史版本记录

      git reflog        回滚到之前的版本

      git reset --hard       提交记录(版本号)  

  2、stash相关常用命令:

      git stash作用,帮助我们暂时存储已经开发一些功能的代码,继续做其他事情,做完之后,再回来继续开发

      git stash             将当前工作区所有修改过的内容存储到“某个地方”,将工作区还原到当前版本未修改过的状态

      git stash list        查看“某个地方”存储的所有记录

      git stash clear     清空“某个地方”

      git stash pop       将第一个记录从“某个地方”重新拿到工作区(可能有冲突)

      git stash apply     编号, 将指定编号记录从“某个地方”重新拿到工作区(可能有冲突) 

      git stash drop      编号,删除指定编号的记录 

  3、branch相关常用命令:

      git branch 分支名称             创建分支

      git checkout 分支名称          切换分支

      git branch -m 分支名称        创建并切换到指定分支

      git branch                          查看所有分支

      git branch -d 分支名称         删除分支

      git merge 分支名称              将指定分支合并到当前分支

        面试题:如果代码出现bug,你们是如何解决?
          创建一个bug分支,然后进行bug处理,处理完毕后,合并到master分支。
          删除bug分支
          回到dev分支继续开发。

  4、GIThub相关的命令:

      需要一个代码托管的网站:github、Bitbucket、码云
      自己创建代码托管的网站:gitlab

      注册账号:
      用户名:邮箱
      密码:admin123
      命令:
        git remote add origin .........
        git push origin dev
        git clone https://github.com/WuPeiqi/dbhot.git
        git pull origin dev
        git fetch origin dev
        git merge origin/dev 改: git rebase origin/dev
        git pull origin master
        git fetch origin master
        git merge origin/master
        面试题: git rebase的作用?
        保持提交记录的整洁。

  5、多人协同开发

    (1)允许他人操作程序

       —合作者

       —创建组织

    (2)分支

         —master

           —dev

     (3)规则

        一起合并

        以一个小的功能合并一次或者一到两天合并一次

    问题:如果你要在github上给别人代码添加功能?

        fork      pull request

    其他:

      a. 不用反复输入用户名密码登录
      Https:
        https://用户名:密码@github.com/WuPeiqi/dbhot.git
        git remote add origin https://用户名:密码@github.com/WuPeiqi/dbhot.git

      SSH:
        git@github.com:WuPeiqi/dbhot.git

      b. .gitignore文件


      c. 版本
        git tag -a v1.0 -m '版本介绍' 本地创建Tag
        git show v1.0 查看
        git tags -n 查看本地Tag
        git tag -l 'v1.4.2.*' 查看本地Tag,模糊匹配
        git tag -d v1.0 删除Tag
        git push origin :refs/tags/v0.2 更新远程tag
        git checkout v.10 切换tag
        git fetch origin tag V1.2

        git push origin --tags
        git pull origin --tags
        git clone -b v1.0 https://github.com/WuPeiqi/dbhot.git    

二、redis  

   mysql是一个软件,帮助开发者对一台机器的硬盘进行操作。
  redis是一个软件,帮助开发者对一台机器的内存进行操作。  

  关键字:
    缓存,优先去redis中获取,如果没有就是数据库。

   基本使用:

a.  import redis
    创建连接
    conn = redis.Redis(host='47.94.172.250',port=6379,password='luffy1234')
    conn.set('x1','wanghuaqiang',ex=5)
    val = conn.get('x1')
    print(val)
b.
    连接池
    import redis
    pool = redis.ConnectionPool(host='10.211.55.4', port=6379,password='luffy1234',max_connections=1000)
    conn = redis.Redis(connection_pool=pool)
    conn.set('foo', 'Bar')
注意:连接池只创建一次
本质:

   本质,维护一个已经和服务端连接成功的socket。
   以后再次发送数据时,直接获取一个socket,直接send数据。

  1、redis是什么?   

      用于操作内存的软件。

        特点:
        - 可以做持久化:
        - AOF
        - RDB

        - 单进程单线程
      - 5大数据类型          

        redis={
          k1:'123', 字符串
          k2:[1,2,3,4,4,2,1], 列表
          k3:{1,2,3,4}, 集合
          k4:{name:123,age:666}, 字典
          k5:{('alex',60),('eva-j',80),('rt',70),},有序集合
        }

      使用字典:

        基本操作

        慎重使用hgetall,优先使用hscan_iter

        计数器

        注意事项:redis操作时,只有第一层value支持:list,dict ....   

        应用(django):
          1. 自定义使用redis

          2. 使用第三方组件
            pip3 install django-redis

          配置:
            CACHES = {
              "default": {
                "BACKEND": "django_redis.cache.RedisCache",
                "LOCATION": "redis://127.0.0.1:6379",
              "OPTIONS": {
                "CLIENT_CLASS": "django_redis.client.DefaultClient",
                "CONNECTION_POOL_KWARGS": {"max_connections": 100}
                # "PASSWORD": "密码",
                }
                }
              }
    
          使用:
            import redis
            from django.shortcuts import render,HttpResponse
            from django_redis import get_redis_connection


            def index(request):
              conn = get_redis_connection("default")
              return HttpResponse('设置成功')
            def order(request):
              conn = get_redis_connection("back")
              return HttpResponse('获取成功')
            高级使用:
              1. 全站缓存

              2. 单视图

              3. 局部页面


         补充:rest framework框架访问频率限制推荐放到 redis/memecached  

     2、使用连接池

      本质,维护一个已经和服务端连接成功的socket。
      以后再次发送数据时,直接获取一个socket,直接send数据。

  3、做代码review

      如何做代码review?
      - 创建review分支:
      谁来锁代码review?
      - 组长
      - 带你的人

  4、支付宝支付   

        - 加密方式:rsa
        - 公钥私钥:
          - 商户私钥
            - 支付宝公钥
        - 支付成功后,断电宕机
        - 成功:return HttpResponse('success')

  5、原生Ajax

    - XMLHttpRequest

原文地址:https://www.cnblogs.com/xu1686318405/p/9135218.html