Git的介绍
导出项目依赖
# 以后项目给别人需要导出项目依赖,放在项目路径下,以后在运行项目前,先安装依赖
一般约定俗成都叫 requirements.txt,但是会有别的:req.txt | dev.txt
# 两种方式:
1、虚拟环境所有装的第三方,都应该是该项目的依赖,直接导出所有第三方模块即可mkvirtualenv -p python 虚拟环境名
pip freeze > requirements.txt
2 不需要管是虚拟环境还是真实环境,只会导出项目的依赖
pip install pipreqs
pipreqs . --encoding=utf-8# 导出python项目的 依赖包
- 首先进入项目所在的虚拟环境(如果有的话),可以使用 source activate your_env 命令进入。
- 然后使用 pip freeze > requirements.txt 命令将当前环境中的所有依赖包及其版本信息导出到 requirements.txt 文件中。
- 最后可以将 requirements.txt 文件分享给其他人,他们可以通过 pip install -r requirements.txt 命令快速安装所需的依赖包。
软件开发模式
# 瀑布开发
软件设计,分任务开发,测试全部,上线
# 敏捷开发
软件分板块
版块设计[用户],分任务开发,测试部分,上线
版块设计[订单],分任务开发,测试部分,上线
版块设计[商品],分任务开发,测试部分,上线
整体测试
上线
git介绍和安装
# 软件开发一个功能后,会把代码提交到某个位置,大家都能拿到
首页功能开发完了,提交到git
# 现在存在的问题:
1、多人在同一项目上开发,代码合并,多人协同开发
2、做版本管理,版本回退,查看...
# SVN 、 GIT 能完成上述操作:
svn 比较老,用的公司不多
git比较流行# git是什么?
版本控制[软件],控制的对象是文件
下载:https://git-scm.com/downloads
win:Git-2.43.0-64-bit.exe 下载,一路下一步安装即可
mac: 双击安装
安装完成:点右键,多出两个命令
git bash here # 会常用
git gui here # 用的少
打开命令行:
git -v
git gitlab gitee github介绍
git:软件,做版本管理的,分不同平台(win,mac)
github:网站,git远程代码仓库,全球最大的开源代码托管平台,全球最大的开源代码仓库
gitee:国内最大的开源代码托管平台(小公司,私有仓库)gitlab:公司内部的远程仓库(公司内部这个多)
# bitbucket 给公司做代码托管的,没有开源
git使用流程
# git 有三个区:
工作区:某个文件夹,在文件夹 新增,修改,删除,更新 文件--用户操作的位置
暂存区:工作区的变更---提交到暂存区
版本库:把暂存区内容---提交到版本库---文件就被版本管理了--回退到某个版本
远程仓库:第三方:github,gitee,gitlab
# 工作流程:三个区的来回操作
git常用命令
# 初始化仓库:仓库目录下会出现 .git 文件夹,文件夹千万不要删除
git init # 初始化当前文件夹
git init 文件夹 # 在当前文件夹下创建文件夹,并把新创建的文件夹作为仓库
# 查看仓库状态:
git status
git status -s #查看仓库状态的简约显示
红色:工作区有变更,但是没有提交到暂存区
绿色:工作区变更提交到暂存区,但是没有提交到版本库---》还没有被版本管理起来
白色:所有变更都被版本管理了# 把工作区变更提交到暂存区:
git add 文件名 文件夹
git add . # 所有变更# 把暂存区提交到版本库:
git commit -m '注释'# 只要提交一次,就会有个版本号,以后根据版本号我们可以回退到任意版本
# 设置用户名和邮箱,一般写在git init之后,只设置一次
# 全局设置 git config --global user.name '用户名' git config --global user.email '用户邮箱' # 局部设置: git config user.name 'xxx' git config user.email '4@qq.com'# 查看版本日志:
git log # 能看到用户:zjq <3306@qq.com>
git reflog
# 撤销工作区变更:
git checkout . # 撤销所有暂存区的提交
git checkout 文件名 # 撤销某一文件的暂存区提交# 撤销暂存区提交:add的逆运算
git reset HEAD . # 撤销所有暂存区的提交
git reset 文件名 # 撤销某一文件的暂存区提交
# git log 更多:
查看时间点之前|之后的日志:
git log --after 2018-6-1
git log --before 2018-6-1
git reflog --after 2018-6-1
git reflog --before 2018-6-1
查看指定开发者日志:
git log --author author_name
git reflog --author author_name
# 回滚到指定版本:
回滚到上一个版本:
git reset --hard HEAD^
git reset --hard HEAD~
回滚到上三个版本:
git reset --hard HEAD^^^
git reset --hard HEAD~3
回滚到指定版本号的版本:
git reset --hard 版本号 (重点)
eg: git reset --hard 35cb292
git log和git reflog区别
回滚到上一个版本:
git reset --hard HEAD^
git reset --hard HEAD~
回滚到上三个版本:
git reset --hard HEAD^^^
git reset --hard HEAD~3
回滚到指定版本号的版本:
git reset --hard 版本号 (重点)
eg: git reset --hard 35cb292
# 只要是被版本管理了,后期我们可以回退到任意版本
git忽略文件
# 在仓库中,某些文件或文件夹,不期望被git管理,不被版本管理
node_models .idea .vscode __pycache__ :为了加快执行效率, 解释器会把py文件,只要执行过,就编译成views.cpython-38.pyc, 以后再运行,直接运行这个文件,速度快 项目的日志文件# 在仓库目录下新建一个文件:.gitignore
标明哪些不被git管理,标明语法如下:
如果是文件,直接写文件名
如果是文件夹,直接写文件夹名
# 具体如下:
文件或文件夹名:代表所有目录下的同名文件或文件夹都被过滤
/文件或文件夹名:代表仓库根目录下的文件或文件夹被过滤例如:
a.txt:项目中所有a.txt文件和文件夹都会被过滤
/a.txt:项目中只有根目录下a.txt文件和文件夹会被过滤
/b/a.txt:项目中只有根目录下的b文件夹下的a.txt文件和文件夹会被过滤
*x*:名字中有一个x的都会被过滤(*代表0~n个任意字符)
空文件夹不会被提交,空包会被提交,包可以被提交(包中有一个init空文件)注意:
# 以'#'开始的行,被视为注释. # 忽略掉所有文件名是 zjq.txt的文件.
zjq.txt
# 忽略所有生成的 html文件,
*.html
# zjq.html是例外,不在忽略范围内
!zjq.html
# 忽略所有.o和 .a文件.
*.[oa]
# 后端项目的忽略文件:luffy.log __pycache__ *.pyc .idea scripts .vscode **/migrations/*.py !**/migrations/__init__.py# 空文件夹不被git管理:
log
__init__.py
luffy.log
*.log
git 多分支
# 以后再创建分支之前,先保证 所有文件都被git管理起来
创建分支:
git branch dev # 创建一个dev分支
查看分支:
git branch
* master # 只有一个master分支切换分支:
git checkout dev # 切换到dev分支
删除分支(不能自己删自己):
git branch -d dev合并分支:
切换到master上
git merge dev # 把dev合并到当前分支
git远程仓库
# 远端的一个服务器:github、gitee、gitlab
注册gitee账号
新建仓库
在本地执行
git config --global user.name "liuqingzheng"
git config --global user.email "306334678@qq.com"
# 已有仓库
cd lqz
git remote add origin https://gitee.com/liuqingzheng/lqz2.git # 添加远程仓库地址
git push origin master
今日思维导图:
相关文章:
Git的介绍
导出项目依赖 # 以后项目给别人需要导出项目依赖,放在项目路径下,以后在运行项目前,先安装依赖 一般约定俗成都叫 requirements.txt,但是会有别的:req.txt | dev.txt # 两种方式: 1、虚拟环境所有装的第三方&…...
websocket+心跳
1.直接上代码 let ws //websocket实例 let lockReconnect false //避免重复连接 let wsUrl //初始化websocket getWebSocketurl() async function getWebSocketurl() {try {// const data await getInfo()sid.value localStorage.getItem(Refresh-Token)wsUrl ws://192.…...
人工智能在信息系统安全中的运用
一、 概述 对于企业和消费者来讲,人工智能是非常有用的工具,那又该如何使用人工智能技术来保护敏感信息?通过快速处理数据并预测分析,AI可以完成从自动化系统到保护信息的所有工作。尽管有些黑客利用技术手段来达到自己的目的,但…...
[python3] 装饰器
装饰器是Python中一种特殊的语法,用于在不修改原函数代码的情况下,为函数添加额外的功能。 装饰器基于函数闭包和函数作为第一类对象的特性实现。 原理: Python中的装饰器本质上是一个函数或类,它接受一个函数作为参数࿰…...
鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Checkbox)
提供多选框组件,通常用于某选项的打开或关闭。 说明: API version 11开始,Checkbox默认样式由圆角方形变为圆形。 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 无 接口…...
【三十】springboot项目上高并发解决示例
互相交流入口地址 整体目录: 【一】springboot整合swagger 【二】springboot整合自定义swagger 【三】springboot整合token 【四】springboot整合mybatis-plus 【五】springboot整合mybatis-plus 【六】springboot整合redis 【七】springboot整合AOP实现日志操作 【…...
原生JavaScript,根据后端返回JSON动态【动态列头、动态数据】生成表格数据
前期准备: JQ下载地址: https://jquery.com/ <!DOCTYPE html> <html><head><meta charset"utf-8"><title>JSON动态生成表格数据,动态列头拼接</title><style>table {width: 800px;text-align: cen…...
OD_2024_C卷_200分_9、园区参观路径【JAVA】【动态规划】
package odjava;import java.util.Scanner;public class 九_园区参观路径 {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt(); // 长 -> 行数int m sc.nextInt(); // 宽 -> 列数int[][] matrix new int[n][m]; // 地图…...
校园小情书微信小程序源码 | 社区小程序前后端开源 | 校园表白墙交友小程序
项目描述: 校园小情书微信小程序源码 | 社区小程序前后端开源 | 校园表白墙交友小程序 功能介绍: 表白墙 卖舍友 步数旅行 步数排行榜 情侣脸 漫画脸 个人主页 私信 站内消息 今日话题 评论点赞收藏 服务器环境要求:PHP7.0 MySQL5.7 效果…...
数据结构小记【Python/C++版】——散列表篇
一,基础概念 散列表,英文名是hash table,又叫哈希表。 散列表通常使用顺序表来存储集合元素,集合元素以一种很分散的分布方式存储在顺序表中。 散列表是一个键值对(key-item)的组合,由键(key)和元素值(item)组成。键…...
前端框架的发展史可以追溯到早期的静态网页时代
前端框架的发展史可以追溯到早期的静态网页时代。以下是前端框架的主要发展阶段: 静态网页时代:在互联网的初期,网页主要由HTML、CSS和JavaScript构成。这些网页是静态的,没有复杂的交互和动态内容。 原生JavaScript时代…...
迷宫可行路径数
题目描述 现有一个n∗m大小的迷宫,其中1表示不可通过的墙壁,0表示平地。每次移动只能向上下左右移动一格(不允许移动到曾经经过的位置),且只能移动到平地上。求从迷宫左上角到右下角的所有可行路径的条数。 输入描述…...
消息队列学习
消息队列是什么 消息队列:Kafka、RocketMQ、RabbitMQ等 腾讯云CMQ消息队列介绍是这么说的: 腾讯云消息队列(Cloud Message Queue,以下简称 CMQ)是分布式的消息队列服务,用于存储进程间传输的消息ÿ…...
API接口技术开发店铺详情接口采集店铺ID、卖家ID、掌柜名字、店铺名、店铺类型、店铺主页、店铺等级、店铺评分、联系方式等数据接入演示
API接口技术开发店铺详情接口采集店铺ID、卖家ID、掌柜名字、店铺名、店铺类型、店铺主页、店铺等级、店铺评分、联系方式等数据,可以按照以下步骤进行接入演示: 注册并获取API密钥: 在电商平台的开发者中心注册账号。创建一个应用࿰…...
ffmpeg maxrate 导致转码输出的内容包含随机性
https://trac.ffmpeg.org/wiki/Limiting%20the%20output%20bitrate 问题 领导提出了一个问题,为什么转码后的视频大小字节数据都不一样,这问到我了,一时语塞。查一下吧,没有什么资料支撑。主动试一下。 尝试 首先尝试一下直接…...
Graphpad Prism10.2.1(395) 安装教程 (含Win/Mac版)
GraphPad Prism GraphPad Prism是一款非常专业强大的科研医学生物数据处理绘图软件,它可以将科学图形、综合曲线拟合(非线性回归)、可理解的统计数据、数据组织结合在一起,除了最基本的数据统计分析外,还能自动生成统…...
Cocos Creator 2d光照
godot游戏引擎是有2d光照的,用起来感觉还是很强大的,不知道他是怎么搞的,有时间看看他们怎么实现的。 之前一直以为cocos社区里面没有2d光照的实现,偶然看到2d实现的具体逻辑,现在整理如下, 一࿱…...
5款好用的AI办公软件,一键轻松制作PPT、视频,提升工作效率!
众所周知,AI 人工智能技术已渗透到生活的方方面面,无论是很多人早已用上的智能音箱、语音助手,还是新近诞生的各种 AI 软件工具,背后都离不开 AI 人工智能技术的加持。 对于各类新生的 AI 软件工具,人们很容易「选边站…...
【MyBatis面试题】
目录 前言 1.MyBatis执行流程。 2.Mybatis是否支持延迟加载? 3.延迟加载的底层原理知道吗? 4.Mybatis的一级、二级缓存用过吗? 5.Mybatis的二级缓存什么时候会清理缓存中的数据? 总结 前言 本文主要介绍了MyBatis面试题相…...
编程界的圣经:从Scheme到JavaScript构建你的计算思维
文章目录 适读人群目 录 《计算机程序的构造和解释》(Structure and Interpretation of Computer Programs,简记为SICP)是MIT的基础课教材,出版后引起计算机教育界的广泛关注,对推动全世界大学计算机科学技术教育的发…...
Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...
Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
逻辑回归暴力训练预测金融欺诈
简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...
嵌入式常见 CPU 架构
架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集,单周期执行;低功耗、CIP 独立外设;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel(原始…...
DiscuzX3.5发帖json api
参考文章:PHP实现独立Discuz站外发帖(直连操作数据库)_discuz 发帖api-CSDN博客 简单改造了一下,适配我自己的需求 有一个站点存在多个采集站,我想通过主站拿标题,采集站拿内容 使用到的sql如下 CREATE TABLE pre_forum_post_…...
uni-app学习笔记三十五--扩展组件的安装和使用
由于内置组件不能满足日常开发需要,uniapp官方也提供了众多的扩展组件供我们使用。由于不是内置组件,需要安装才能使用。 一、安装扩展插件 安装方法: 1.访问uniapp官方文档组件部分:组件使用的入门教程 | uni-app官网 点击左侧…...
如何把工业通信协议转换成http websocket
1.现状 工业通信协议多数工作在边缘设备上,比如:PLC、IOT盒子等。上层业务系统需要根据不同的工业协议做对应开发,当设备上用的是modbus从站时,采集设备数据需要开发modbus主站;当设备上用的是西门子PN协议时…...
作为点的对象CenterNet论文阅读
摘要 检测器将图像中的物体表示为轴对齐的边界框。大多数成功的目标检测方法都会枚举几乎完整的潜在目标位置列表,并对每一个位置进行分类。这种做法既浪费又低效,并且需要额外的后处理。在本文中,我们采取了不同的方法。我们将物体建模为单…...



