1-1. 创建github库

创建github库能够上传自己写的源代码哩

  • 添加ssh keys

    在Github Settings中找到SSH and GPG keys,单击New SSH key,复制公钥文件id_rsa.pub中的内容

  • 测试ssh连接

    Git Bash中执行

    $ ssh -T git@github.com
    

    Hi username! You've successfully authenticated, but GitHub does not provide shell access.表示连接成功。

1-2. git clone

将刚才创建的github项目克隆到本地

cd /G/Python/flask/
git clone https://github.com/YGYtl/flask-vuejs-Graceblog.git

1-3. 分支管理

创建分支管理是为了将修改记录的整体流程分叉保存。分叉后的分支不受其他分支的影响,所以在同一个数据库里可以同时进行多个修改。

git checkout -b dev  //创建dev分支
git branch  //查看分支

2-1. 配置 Flask

这个web项目的后端是基于flask的,所以需要在back-end后端目录中安装flask。

  • 装python3

  • 使用命令窗口,在文件夹flask-vuejs-Graceblog中创建目录back-end(文件夹),这是后端API应用所在的位置

  • 在back-end文件夹中,直接建立虚拟环境文件夹,同时生成虚拟环境 ,接着安装flask。

    G:\flask-vuejs-Graceblog\back-end>python -m venv venv  //建立虚拟环境文件夹,同时生成虚拟环境
    G:\flask-vuejs-Graceblog\back-end>venv\Scripts\activate  //通过\venv\Scripts\activate命令进入虚拟环境
    (venv) G:\flask-vuejs-Graceblog\back-end>pip install flask  //安装flask
    (venv) G:\flask-vuejs-Graceblog\back-end>pip freeze > requirements.txt  //迁移模块
    (venv) G:\flask-vuejs-Graceblog\back-end>pip install python-dotenv  //加载读取环境变量信息的包
    (venv) G:\flask-vuejs-Graceblog\back-end>pip freeze > requirements.txt  //迁移模块
    
  • 在back-end文件夹中创建.gitignore文件:

    .idea/
    __pycache__/
    venv/
    .env
    app.db
    yourblog.log*
    

2-2. 应用工厂

  • 先在back-end文件夹下创建app文件夹,之后在app文件夹下创建__init__.py,创建Flask应用,代码如下:

    from flask import Flask
    from config import Config
    def create_app(config_class=Config):
        app = Flask(__name__)
        app.config.from_object(config_class)
        
        #注册blueprint
        from app.api import bp as api_bp
        app.register_blueprint(api_bp, url_prefix='/api')
        return app
    

2-3. API蓝图

  • 在app文件夹下创建api文件夹,新建__init__.py
from flask import Blueprint
bp = Blueprint('api', __name__)
# 写在最后防止循环导入,ping.py文件也会导入 bp
from app.api import ping
  • 定义路由函数,在api文件夹下新建ping.py(客户端请求访问/ping时,响应并返回Pong!)
 from flask import jsonify
 from app.api import bp
 @bp.route('/ping', methods=['GET'])
 def ping():
     '''前端Vue.js用来测试与后端Flask API的连通性'''
     return jsonify('Pong!')

2-4. 应用启动文件

在back-end文件夹下新建Graceblog.py

from app import create_app
app = create_app()

2-5. 配置文件

  • 在back-end文件夹下新建config.py

    import os
    from dotenv import load_dotenv
    basedir = os.path.abspath(os.path.dirname(__file__))
    load_dotenv(os.path.join(basedir, '.env'), encoding='utf-8')
    class Config(object):
        pass
    
  • 在back-end文件夹下新建.env

    FLASK_APP=Graceblog.py
    FLASK_DEBUG=1
    

2-6. 启动应用

(venv) G:\flask-vuejs-Graceblog\back-end>flask run

尝试访问http://127.0.0.1:5000/api/ping

2-7. git的一些操作

举个栗子:
1、git branch显示*master,目前在master下

2、git checkout -b dev //新建并切换到dev分支下

3、git branch显示*dev,表示当前分支为dev

4、在dev分支下,加入要上传的文件为test.py
git add test.py
git commit -m "dev分支的提交"

5、git log --pretty=online //会显示dev分支的提交

6、dev分支完成,切换到master分支下
git checkout master

7、将master分支与dev分支合并
git merge dev

8、删除dev分支
git branch -D dev

9、将本地master分支上传到github仓库的master分支上
git push or git push -u origin master



git branch 分支名 // 新建分支
git branch // 查看当前所有分支
git checkout 分支名 // 检出分支
git checkout -b 分支名 // 创建并切换分支
git checkout commitId 文件名(文件路径下的文件名) 还原这个文件到对应的commitId的版本
git branch -v // 查看分支以及提交hash值和commit信息
git merge 分支名 // 把该分支的内容合并到现有分支上
git branch -d 分支名 // 删除分支
git branch -D 分支名 // 强制删除 若没有其他分支合并就删除 d会提示 D不会
git branch -m 旧分支名 新分支名 // 修改分支名
git branch -M 旧分支名 新分支名 // 修改分支名 M强制修改 若与其他分支有冲突也会创建(慎用)
git branch -r // 列出远程分支(远程所有分支名)
git branch -a // 查看远程分支(列出远程分支以及本地分支名)
git fetch // 更新remote索引
git push -u origin 分支名