当前位置: 首页 > news >正文

Git的介绍

导出项目依赖

# 以后项目给别人需要导出项目依赖,放在项目路径下,以后在运行项目前,先安装依赖

    一般约定俗成都叫 requirements.txt,但是会有别的:req.txt  |  dev.txt
# 两种方式:
    1、虚拟环境所有装的第三方,都应该是该项目的依赖,直接导出所有第三方模块即可

        mkvirtualenv -p python 虚拟环境名
        pip freeze  > requirements.txt

    2 不需要管是虚拟环境还是真实环境,只会导出项目的依赖
        pip install pipreqs
        pipreqs . --encoding=utf-8

# 导出python项目的 依赖包

  1. 首先进入项目所在的虚拟环境(如果有的话),可以使用 source activate your_env 命令进入。
  2. 然后使用 pip freeze > requirements.txt 命令将当前环境中的所有依赖包及其版本信息导出到 requirements.txt 文件中。
  3. 最后可以将 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的介绍

导出项目依赖 # 以后项目给别人需要导出项目依赖&#xff0c;放在项目路径下&#xff0c;以后在运行项目前&#xff0c;先安装依赖 一般约定俗成都叫 requirements.txt,但是会有别的&#xff1a;req.txt | dev.txt # 两种方式&#xff1a; 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.…...

人工智能在信息系统安全中的运用

一、 概述 对于企业和消费者来讲&#xff0c;人工智能是非常有用的工具&#xff0c;那又该如何使用人工智能技术来保护敏感信息?通过快速处理数据并预测分析&#xff0c;AI可以完成从自动化系统到保护信息的所有工作。尽管有些黑客利用技术手段来达到自己的目的&#xff0c;但…...

[python3] 装饰器

装饰器是Python中一种特殊的语法&#xff0c;用于在不修改原函数代码的情况下&#xff0c;为函数添加额外的功能。 装饰器基于函数闭包和函数作为第一类对象的特性实现。 原理&#xff1a; Python中的装饰器本质上是一个函数或类&#xff0c;它接受一个函数作为参数&#xff0…...

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Checkbox)

提供多选框组件&#xff0c;通常用于某选项的打开或关闭。 说明&#xff1a; API version 11开始&#xff0c;Checkbox默认样式由圆角方形变为圆形。 该组件从API Version 8开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 无 接口…...

【三十】springboot项目上高并发解决示例

互相交流入口地址 整体目录&#xff1a; 【一】springboot整合swagger 【二】springboot整合自定义swagger 【三】springboot整合token 【四】springboot整合mybatis-plus 【五】springboot整合mybatis-plus 【六】springboot整合redis 【七】springboot整合AOP实现日志操作 【…...

原生JavaScript,根据后端返回JSON动态【动态列头、动态数据】生成表格数据

前期准备&#xff1a; JQ下载地址&#xff1a; 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]; // 地图…...

校园小情书微信小程序源码 | 社区小程序前后端开源 | 校园表白墙交友小程序

项目描述&#xff1a; 校园小情书微信小程序源码 | 社区小程序前后端开源 | 校园表白墙交友小程序 功能介绍&#xff1a; 表白墙 卖舍友 步数旅行 步数排行榜 情侣脸 漫画脸 个人主页 私信 站内消息 今日话题 评论点赞收藏 服务器环境要求&#xff1a;PHP7.0 MySQL5.7 效果…...

数据结构小记【Python/C++版】——散列表篇

一&#xff0c;基础概念 散列表&#xff0c;英文名是hash table&#xff0c;又叫哈希表。 散列表通常使用顺序表来存储集合元素&#xff0c;集合元素以一种很分散的分布方式存储在顺序表中。 散列表是一个键值对(key-item)的组合&#xff0c;由键(key)和元素值(item)组成。键…...

前端框架的发展史可以追溯到早期的静态网页时代

前端框架的发展史可以追溯到早期的静态网页时代。以下是前端框架的主要发展阶段&#xff1a; 静态网页时代&#xff1a;在互联网的初期&#xff0c;网页主要由HTML、CSS和JavaScript构成。这些网页是静态的&#xff0c;没有复杂的交互和动态内容。 原生JavaScript时代&#xf…...

迷宫可行路径数

题目描述 现有一个n∗m大小的迷宫&#xff0c;其中1表示不可通过的墙壁&#xff0c;0表示平地。每次移动只能向上下左右移动一格&#xff08;不允许移动到曾经经过的位置&#xff09;&#xff0c;且只能移动到平地上。求从迷宫左上角到右下角的所有可行路径的条数。 输入描述…...

消息队列学习

消息队列是什么 消息队列&#xff1a;Kafka、RocketMQ、RabbitMQ等 腾讯云CMQ消息队列介绍是这么说的&#xff1a; 腾讯云消息队列&#xff08;Cloud Message Queue&#xff0c;以下简称 CMQ&#xff09;是分布式的消息队列服务&#xff0c;用于存储进程间传输的消息&#xff…...

API接口技术开发店铺详情接口采集店铺ID、卖家ID、掌柜名字、店铺名、店铺类型、店铺主页、店铺等级、店铺评分、联系方式等数据接入演示

API接口技术开发店铺详情接口采集店铺ID、卖家ID、掌柜名字、店铺名、店铺类型、店铺主页、店铺等级、店铺评分、联系方式等数据&#xff0c;可以按照以下步骤进行接入演示&#xff1a; 注册并获取API密钥&#xff1a; 在电商平台的开发者中心注册账号。创建一个应用&#xff0…...

ffmpeg maxrate 导致转码输出的内容包含随机性

https://trac.ffmpeg.org/wiki/Limiting%20the%20output%20bitrate 问题 领导提出了一个问题&#xff0c;为什么转码后的视频大小字节数据都不一样&#xff0c;这问到我了&#xff0c;一时语塞。查一下吧&#xff0c;没有什么资料支撑。主动试一下。 尝试 首先尝试一下直接…...

Graphpad Prism10.2.1(395) 安装教程 (含Win/Mac版)

GraphPad Prism GraphPad Prism是一款非常专业强大的科研医学生物数据处理绘图软件&#xff0c;它可以将科学图形、综合曲线拟合&#xff08;非线性回归&#xff09;、可理解的统计数据、数据组织结合在一起&#xff0c;除了最基本的数据统计分析外&#xff0c;还能自动生成统…...

Cocos Creator 2d光照

godot游戏引擎是有2d光照的&#xff0c;用起来感觉还是很强大的&#xff0c;不知道他是怎么搞的&#xff0c;有时间看看他们怎么实现的。 之前一直以为cocos社区里面没有2d光照的实现&#xff0c;偶然看到2d实现的具体逻辑&#xff0c;现在整理如下&#xff0c; 一&#xff1…...

5款好用的AI办公软件,一键轻松制作PPT、视频,提升工作效率!

众所周知&#xff0c;AI 人工智能技术已渗透到生活的方方面面&#xff0c;无论是很多人早已用上的智能音箱、语音助手&#xff0c;还是新近诞生的各种 AI 软件工具&#xff0c;背后都离不开 AI 人工智能技术的加持。 对于各类新生的 AI 软件工具&#xff0c;人们很容易「选边站…...

【MyBatis面试题】

目录 前言 1.MyBatis执行流程。 2.Mybatis是否支持延迟加载&#xff1f; 3.延迟加载的底层原理知道吗&#xff1f; 4.Mybatis的一级、二级缓存用过吗&#xff1f; 5.Mybatis的二级缓存什么时候会清理缓存中的数据&#xff1f; 总结 前言 本文主要介绍了MyBatis面试题相…...

编程界的圣经:从Scheme到JavaScript构建你的计算思维

文章目录 适读人群目 录 《计算机程序的构造和解释》&#xff08;Structure and Interpretation of Computer Programs&#xff0c;简记为SICP&#xff09;是MIT的基础课教材&#xff0c;出版后引起计算机教育界的广泛关注&#xff0c;对推动全世界大学计算机科学技术教育的发…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

Golang——7、包与接口详解

包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...

tomcat指定使用的jdk版本

说明 有时候需要对tomcat配置指定的jdk版本号&#xff0c;此时&#xff0c;我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...

nnUNet V2修改网络——暴力替换网络为UNet++

更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...

CMS内容管理系统的设计与实现:多站点模式的实现

在一套内容管理系统中&#xff0c;其实有很多站点&#xff0c;比如企业门户网站&#xff0c;产品手册&#xff0c;知识帮助手册等&#xff0c;因此会需要多个站点&#xff0c;甚至PC、mobile、ipad各有一个站点。 每个站点关联的有站点所在目录及所属的域名。 一、站点表设计…...