Git——C站最详细的Git教程,一篇学会Git(window\linux通用)

2023-11-01

Git——C站最详细的Git教程,一篇学会Git(window\linux通用)


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oGv54yyt-1684476308647)(Git%E2%80%94%E2%80%94C%E7%AB%99%E6%9C%80%E8%AF%A6%E7%BB%86%E7%9A%84Git%E6%95%99%E7%A8%8B%EF%BC%8C%E4%B8%80%E7%AF%87%E5%AD%A6%E4%BC%9AGit.assets/image-20230519140302851.png)]

Git简介

Git

  • Git 是目前世界上最先进的分布式版本控制系统(没有之一)

作用

  • 源代码管理

为什么要进行源代码管理?

  • 方便多人协同开发
  • 方便版本控制

Git的诞生

  • 作者是 Linux 之父:Linus Benedict Torvalds
  • 当初开发 Git 仅仅是为了辅助 Linux 内核的开发(管理源代码)

git 开发时间表

  • git 的产生是 Linux Torvals 在无奈被逼的情况下创造的,我看了一下时间历程:
    • 2005 年 4 月3 日开始开发 git
    • 2005 年 4 月 6 日项目发布
    • 2005 年 4 月 7 日 Git 开始作为自身的版本控制工具
    • 2005 年 4 月 18 日发生第一个多分支合并
    • 2005 年 4 月 29 日 Git 的性能达到 Linux 预期
    • 2005年 7 月 26 日 Linux 功成身退,将 Git 维护权交给 Git 另一个主要贡献者 Junio C Hamano,直到现在

Git 迅速成为最流行的分布式版本控制系统,尤其是 2008 年,GitHub 网站上线了,它为开源项目免费提供 Git 存储,无数开源项目开始迁移至 GitHub,包括 jQuery,PHP,Ruby 等等

Git管理源代码特点

  • 1.Git是分布式管理.服务器和客户端都有版本控制能力,都能进行代码的提交、合并、…

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gSZEN22s-1684476308651)(Git%E2%80%94%E2%80%94C%E7%AB%99%E6%9C%80%E8%AF%A6%E7%BB%86%E7%9A%84Git%E6%95%99%E7%A8%8B%EF%BC%8C%E4%B8%80%E7%AF%87%E5%AD%A6%E4%BC%9AGit.assets/%E5%88%86%E5%B8%83%E5%BC%8F%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6.png)]

  • 2.Git会在根目录下创建一个.git隐藏文件夹,作为本地代码仓库

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Cuuu6xtm-1684476308653)(Git%E2%80%94%E2%80%94C%E7%AB%99%E6%9C%80%E8%AF%A6%E7%BB%86%E7%9A%84Git%E6%95%99%E7%A8%8B%EF%BC%8C%E4%B8%80%E7%AF%87%E5%AD%A6%E4%BC%9AGit.assets/%E6%9C%AC%E5%9C%B0%E4%BB%93%E5%BA%93.png)]

Git操作流程图解

Git服务器 --> 本地仓库 --> 客户端 --> 本地仓库 --> Git服务器

git clone xxx

git add .

git commit -m ‘xxx’

git push

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wMofyoQ9-1684476308654)(Git%E2%80%94%E2%80%94C%E7%AB%99%E6%9C%80%E8%AF%A6%E7%BB%86%E7%9A%84Git%E6%95%99%E7%A8%8B%EF%BC%8C%E4%B8%80%E7%AF%87%E5%AD%A6%E4%BC%9AGit.assets/GIT%E6%93%8D%E4%BD%9C%E5%9B%BE%E8%A7%A3.png)]

工作区暂存区和仓库区

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-shefSdjr-1684476308655)(Git%E2%80%94%E2%80%94C%E7%AB%99%E6%9C%80%E8%AF%A6%E7%BB%86%E7%9A%84Git%E6%95%99%E7%A8%8B%EF%BC%8C%E4%B8%80%E7%AF%87%E5%AD%A6%E4%BC%9AGit.assets/%E5%B7%A5%E4%BD%9C%E5%8C%BA%E6%9A%82%E5%AD%98%E5%8C%BA%E5%92%8C%E4%BB%93%E5%BA%93%E5%8C%BA-16844667931571.png)]

工作区
  • 对于添加修改删除文件的操作,都发生在工作区中
暂存区
  • 暂存区指将工作区中的操作完成小阶段的存储,是版本库的一部分
仓库区
  • 仓库区表示个人开发的一个小阶段的完成
    • 仓库区中记录的各版本是可以查看并回退的
    • 但是在暂存区的版本一旦提交就再也没有了

Git单人本地仓库操作

  • 课程目标:学习常用的Git终端命令
  • 提示:本地仓库是个.git隐藏文件

以下为演示Git单人本地仓库操作

1.安装git

linux上

  sudo apt-get install git
  密码:chuanzhi

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZGUgx4RQ-1684476308658)(Git%E2%80%94%E2%80%94C%E7%AB%99%E6%9C%80%E8%AF%A6%E7%BB%86%E7%9A%84Git%E6%95%99%E7%A8%8B%EF%BC%8C%E4%B8%80%E7%AF%87%E5%AD%A6%E4%BC%9AGit.assets/%E5%AE%89%E8%A3%85Git-16844669628062.png)]

​ windows

可以到 GitHub 的页面上下载 exe 安装文件并运行:

安装包下载地址:https://gitforwindows.org/

官网慢,可以用国内的镜像:https://npm.taobao.org/mirrors/git-for-windows/。

2.查看git安装结果

  git

3.创建项目

  • 在桌面创建test文件夹,表示是工作项目

      Desktop/test/
    

windows

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MQcXiowz-1684476308661)(Git%E2%80%94%E2%80%94C%E7%AB%99%E6%9C%80%E8%AF%A6%E7%BB%86%E7%9A%84Git%E6%95%99%E7%A8%8B%EF%BC%8C%E4%B8%80%E7%AF%87%E5%AD%A6%E4%BC%9AGit.assets/image-20230519113331535.png)]

4.创建本地仓库

  1. 进入到test,并创建本地仓库.git

  2. 新创建的本地仓库.git是个空仓库

      cd Desktop/test/
      git init
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G58TIySZ-1684476308663)(Git%E2%80%94%E2%80%94C%E7%AB%99%E6%9C%80%E8%AF%A6%E7%BB%86%E7%9A%84Git%E6%95%99%E7%A8%8B%EF%BC%8C%E4%B8%80%E7%AF%87%E5%AD%A6%E4%BC%9AGit.assets/%E5%88%9B%E5%BB%BA%E6%9C%AC%E5%9C%B0%E4%BB%93%E5%BA%93-16844672443655.png)]

  3. 创建本地仓库.git

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Gz4OApUc-1684476308664)(Git%E2%80%94%E2%80%94C%E7%AB%99%E6%9C%80%E8%AF%A6%E7%BB%86%E7%9A%84Git%E6%95%99%E7%A8%8B%EF%BC%8C%E4%B8%80%E7%AF%87%E5%AD%A6%E4%BC%9AGit.assets/%E7%A9%BA%E4%BB%93%E5%BA%93-16844672496926.png)]

进入该待显示的文件路径,ctrl + h ,则显示隐藏文件

5.配置个人信息

  git config user.name '张三'
  git config user.email 'zhangsan@163.com'

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lRF1jQjL-1684476308666)(Git%E2%80%94%E2%80%94C%E7%AB%99%E6%9C%80%E8%AF%A6%E7%BB%86%E7%9A%84Git%E6%95%99%E7%A8%8B%EF%BC%8C%E4%B8%80%E7%AF%87%E5%AD%A6%E4%BC%9AGit.assets/%E9%85%8D%E7%BD%AE%E4%B8%AA%E4%BA%BA%E4%BF%A1%E6%81%AF-16844672592717.png)]

  • 配置个人信息后

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4i58WU84-1684476308667)(Git%E2%80%94%E2%80%94C%E7%AB%99%E6%9C%80%E8%AF%A6%E7%BB%86%E7%9A%84Git%E6%95%99%E7%A8%8B%EF%BC%8C%E4%B8%80%E7%AF%87%E5%AD%A6%E4%BC%9AGit.assets/%E9%85%8D%E7%BD%AE%E4%B8%AA%E4%BA%BA%E4%BF%A1%E6%81%AF%E5%90%8E-16844672677588.png)]

默认不配置的话,会使用全局配置里面的用户名和邮箱
全局git配置文件路径:~/.gitconfig

6.新建py文件

  • 在项目文件test里面创建login.py文件,用于版本控制演示

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LhKnGG5U-1684476308669)(Git%E2%80%94%E2%80%94C%E7%AB%99%E6%9C%80%E8%AF%A6%E7%BB%86%E7%9A%84Git%E6%95%99%E7%A8%8B%EF%BC%8C%E4%B8%80%E7%AF%87%E5%AD%A6%E4%BC%9AGit.assets/%E9%A1%B9%E7%9B%AE%E6%96%87%E4%BB%B6%E8%AF%A6%E6%83%85-16844672825239.png)]

7.查看文件状态

  • 红色表示新建文件或者新修改的文件,都在工作区.

  • 绿色表示文件在暂存区

  • 新建的login.py文件在工作区,需要添加到暂存区并提交到仓库区

    git status
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KlwKKncM-1684476308670)(Git%E2%80%94%E2%80%94C%E7%AB%99%E6%9C%80%E8%AF%A6%E7%BB%86%E7%9A%84Git%E6%95%99%E7%A8%8B%EF%BC%8C%E4%B8%80%E7%AF%87%E5%AD%A6%E4%BC%9AGit.assets/%E6%9F%A5%E7%9C%8B%E6%96%87%E4%BB%B6%E7%8A%B6%E6%80%81-168446729131510.png)]

8.将工作区文件添加到暂存区

  # 添加项目中所有文件
  git add .
  或者
  # 添加指定文件
  git add login.py

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NWDZXViK-1684476308672)(Git%E2%80%94%E2%80%94C%E7%AB%99%E6%9C%80%E8%AF%A6%E7%BB%86%E7%9A%84Git%E6%95%99%E7%A8%8B%EF%BC%8C%E4%B8%80%E7%AF%87%E5%AD%A6%E4%BC%9AGit.assets/%E6%B7%BB%E5%8A%A0%E5%88%B0%E6%9A%82%E5%AD%98%E5%8C%BA-168446730137111.png)]

9.将暂存区文件提交到仓库区

  • commit会生成一条版本记录

  • -m后面是版本描述信息

    git commit -m '版本描述'
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mOrFQUqi-1684476308673)(Git%E2%80%94%E2%80%94C%E7%AB%99%E6%9C%80%E8%AF%A6%E7%BB%86%E7%9A%84Git%E6%95%99%E7%A8%8B%EF%BC%8C%E4%B8%80%E7%AF%87%E5%AD%A6%E4%BC%9AGit.assets/%E6%8F%90%E4%BA%A4%E5%88%B0%E4%BB%93%E5%BA%93%E5%8C%BA-168446730896512.png)]

10.接下来就可以在login.py文件中编辑代码

  • 代码编辑完成后即可进行addcommit操作

  • 提示:添加和提交合并命令

      git commit -am "版本描述"
    
  • 提交两次代码,会有两个版本记录

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rVuqVt6z-1684476308675)(Git%E2%80%94%E2%80%94C%E7%AB%99%E6%9C%80%E8%AF%A6%E7%BB%86%E7%9A%84Git%E6%95%99%E7%A8%8B%EF%BC%8C%E4%B8%80%E7%AF%87%E5%AD%A6%E4%BC%9AGit.assets/%E4%B8%A4%E6%AC%A1%E7%89%88%E6%9C%AC%E6%8F%90%E4%BA%A4-168446731720913.png)]

一般到这里就可以愉快的

git push 推送到远程仓库了

后面的操作是为了方便修改错了,来回退版本的(push之后也可以回退,可以去服务器上找版本号来回退)

11.查看历史版本

  git log
  或者
  git reflog

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rKVODtpN-1684476308677)(Git%E2%80%94%E2%80%94C%E7%AB%99%E6%9C%80%E8%AF%A6%E7%BB%86%E7%9A%84Git%E6%95%99%E7%A8%8B%EF%BC%8C%E4%B8%80%E7%AF%87%E5%AD%A6%E4%BC%9AGit.assets/%E6%9F%A5%E7%9C%8B%E5%8E%86%E5%8F%B2%E8%AE%B0%E5%BD%95log-168446732409214.png)]

git reflog 可以查看所有分支的所有操作记录(包括commit和reset的操作),包括已经被删除的commit记录,git log 则不能察看已经删除了的commit记录

12.回退版本

  • 方案一:

    • HEAD表示当前最新版本

    • HEAD^表示当前最新版本的前一个版本

    • HEAD^^表示当前最新版本的前两个版本,以此类推…

    • HEAD~1表示当前最新版本的前一个版本

    • HEAD~10表示当前最新版本的前10个版本,以此类推…

      git reset --hard HEAD^
      

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8cj7eNmY-1684476308678)(Git%E2%80%94%E2%80%94C%E7%AB%99%E6%9C%80%E8%AF%A6%E7%BB%86%E7%9A%84Git%E6%95%99%E7%A8%8B%EF%BC%8C%E4%B8%80%E7%AF%87%E5%AD%A6%E4%BC%9AGit.assets/%E5%9B%9E%E9%80%80%E7%89%88%E6%9C%ACHEAD-168446738393319.png)]

  • 方案二:当版本非常多时可选择的方案

    • 通过每个版本的版本号回退到指定版本

        git reset --hard 版本号
      

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3wWiPDVp-1684476308679)(Git%E2%80%94%E2%80%94C%E7%AB%99%E6%9C%80%E8%AF%A6%E7%BB%86%E7%9A%84Git%E6%95%99%E7%A8%8B%EF%BC%8C%E4%B8%80%E7%AF%87%E5%AD%A6%E4%BC%9AGit.assets/%E5%9B%9E%E9%80%80%E7%89%88%E6%9C%AC%E7%89%88%E6%9C%AC%E5%8F%B7-168446736568018.png)]

13.撤销修改

  • 只能撤销工作区、暂存区的代码,不能撤销仓库区的代码

  • 撤销仓库区的代码就相当于回退版本操作

    • 撤销工作区代码

      • 新加代码num3 = 30,不add到暂存区,保留在工作区

        git checkout 文件名
        

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wq9Vl9NZ-1684476308683)(Git%E2%80%94%E2%80%94C%E7%AB%99%E6%9C%80%E8%AF%A6%E7%BB%86%E7%9A%84Git%E6%95%99%E7%A8%8B%EF%BC%8C%E4%B8%80%E7%AF%87%E5%AD%A6%E4%BC%9AGit.assets/%E6%92%A4%E9%94%80%E5%B7%A5%E4%BD%9C%E5%8C%BA%E4%BB%A3%E7%A0%81%E5%89%8D-168446740552620.png)]

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7x497kdd-1684476308683)(Git%E2%80%94%E2%80%94C%E7%AB%99%E6%9C%80%E8%AF%A6%E7%BB%86%E7%9A%84Git%E6%95%99%E7%A8%8B%EF%BC%8C%E4%B8%80%E7%AF%87%E5%AD%A6%E4%BC%9AGit.assets/%E6%92%A4%E9%94%80%E5%B7%A5%E4%BD%9C%E5%8C%BA%E4%BB%A3%E7%A0%81%E5%90%8E-168446741063421.png)]

    • 撤销暂存区代码

      • 新加代码num3 = 30,并add到暂存区

        # 第一步:将暂存区代码撤销到工作区
        git reset HEAD  文件名
        # 第二步:撤销工作区代码
        git checkout 文件名
        

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GSIuq9ah-1684476308685)(Git%E2%80%94%E2%80%94C%E7%AB%99%E6%9C%80%E8%AF%A6%E7%BB%86%E7%9A%84Git%E6%95%99%E7%A8%8B%EF%BC%8C%E4%B8%80%E7%AF%87%E5%AD%A6%E4%BC%9AGit.assets/%E6%92%A4%E9%94%80%E6%9A%82%E5%AD%98%E5%8C%BA%E4%BB%A3%E7%A0%81-168446742386822.png)]

学弯路这篇,基本上就会了Git,可以自己去github上注册个人账号了,注册完账号,就可以自己搭建自己个人github主页了

附上作者的github主页链接:https://github.com/571290717

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Git——C站最详细的Git教程,一篇学会Git(window\linux通用) 的相关文章

  • Linux 为一组进程保留一个处理器(动态)

    有没有办法将处理器排除在正常调度之外 也就是说 使用sched setaffinity我可以指示线程应该在哪个处理器上运行 但我正在寻找相反的情况 也就是说 我想从正常调度中排除给定的处理器 以便只有已明确调度的进程才能在那里运行 我还知道
  • git am 和 git apply 有什么区别?

    Both git am https git scm com docs git am and git apply https git scm com docs git apply可用于应用补丁 看起来git am自动提交 而git apply
  • 使用 gdb 调试 Linux 内核模块

    我想知道 API 在内核模块 中返回什么 从几种形式可以知道 这并不是那么简单 我们需要加载符号表来调试内核模块 所以我所做的就是 1 尝试找到内核模块的 text bss和 data段地址 2 在 gdb 中使用 add symbol f
  • 这种文件锁定方法可以接受吗?

    我们有 10 个 Linux 机器 每周必须运行 100 个不同的任务 这些计算机主要在我们晚上在家时执行这些任务 我的一位同事正在开发一个项目 通过使用 Python 自动启动任务来优化运行时间 他的程序将读取任务列表 抓取一个打开的任务
  • 如何使用 git 找到一个分支中但不在另一个分支中的所有提交?

    我有两个分行master and live Master是发展 分支并包含尚未准备好进入的提交live 如果在master需要进入的分支live树枝然后他们被樱桃采摘master to live 有时会做出承诺live分支然后是 樱桃摘入m
  • 检查已安装的软件包,如果没有找到则安装

    我需要检查已安装的软件包 如果未安装则安装它们 RHEL CentOS Fedora 示例 rpm qa grep glibc static glibc static 2 12 1 80 el6 3 5 i686 如何在 BASH 中进行检
  • git rebase 吃了我的提交!为我翻译“git reflog”输出?

    我已经完成了五次提交 我想在推送它们之前将它们全部合并为一次提交 出于某种原因 我决定尝试通过与通常使用的不同的方式来做到这一点 FWIW 我试图按照此处的说明进行操作http gitready com advanced 2009 02 1
  • 从 Linux 内核模块中调用用户空间函数

    我正在编写一个简单的 Linux 字符设备驱动程序 以通过 I O 端口将数据输出到硬件 我有一个执行浮点运算的函数来计算硬件的正确输出 不幸的是 这意味着我需要将此函数保留在用户空间中 因为 Linux 内核不能很好地处理浮点运算 这是设
  • 使用自定义堆的类似 malloc 的函数

    如果我希望使用自定义预分配堆构造类似 malloc 的功能 那么 C 中最好的方法是什么 我的具体问题是 我有一个可映射 类似内存 的设备 已将其放入我的地址空间中 但我需要获得一种更灵活的方式来使用该内存来存储将随着时间的推移分配和释放的
  • Git 实验分支还是单独的实验存储库?

    我正在开发一个 Android 应用程序 并且在整个开发周期中一直使用 Git 现在 我想构建并发布实验性功能 供人们尝试和安装 同时仍将原始的 稳定的应用程序安装在他们的设备上 现在 这意味着我需要使用不同的包名称 这会更改开发项目中的一
  • 致命:refspec 的远程部分不是 :capability^{} 中的有效名称

    从 github 克隆给定的存储库 然后推送到 bitbucket 上的新存储库 我收到错误 gt fatal remote part of refspec is not a valid name in capabilities gt fa
  • express.js api 应用程序中的内存泄漏

    我正在运行一个express js应用程序 它用作REST API 一个端点启动 puppeteer 并使用多个过程测试我的网站 启动应用程序并持续消耗端点后 我的 docker 容器每小时都会耗尽内存 如下所示 首先 我认为我的 pupp
  • 使用 git 将一系列小的合并从 master 压缩到我的分支中,同时保留对 master 的引用?

    我有一个非常复杂的合并要做 部分问题在于我浪费了太多时间 因此要纳入我的分支的更改量是巨大的 为了让事情变得更容易 我选择这样做git merge origin master 20 then git merge origin master
  • 如何在文件中搜索多行模式?

    我需要找到包含特定字符串模式的所有文件 我想到的第一个解决方案是使用find管道与xargs grep find iname py xargs grep e YOUR PATTERN 但是 如果我需要查找跨越多行的模式 我就会陷入困境 因为
  • 为 OpenWrt 编写和编译程序

    我有一个在 OpenWRT 下运行的具有 MIPS 架构的嵌入式设备 系统类型 MediaTek MT7628AN ver 1 eco 2机器 WRTnode2P 处理器 0CPU型号 MIPS 24KEc V5 5 我想通过我的电脑 ub
  • 使用 cron 作业推送到 GitHub - 权限被拒绝(公钥)

    我已经创建了一个 SSH 密钥 如下官方教程 https help github com articles generating ssh keys 00 将其添加到 GitHub 并创建一个 Bash 脚本 用于提交单个文件并将其推送到我在
  • Ubuntu 的打包 - Web 应用程序

    Web 应用程序没有与 C 或类似文件不同的 make 文件 但是 它需要放置在特定的目录中 例如 var www 我是 Linux 打包新手 所以我的问题是 如何将我的应用程序打包到 deb 中 以便在安装时将其放入 etc myprog
  • 如何找到进程启动时使用的原始用户名?

    有一个 perl 脚本需要以 root 身份运行 但我们必须确保运行该脚本的用户最初没有以用户 foo 身份登录 因为它将在脚本运行期间被删除 那么 我如何查明自登录以来可能已多次起诉的用户是否在该链中的任何时间都没有模拟过 foo 我发现
  • 从另一个 python 脚本获取返回信息

    我在 Linux 上 我有一个 python 脚本 我想从另一个 python 脚本调用它 我不想将其作为模块导入 为了一层安全性 现在为了学术练习 因为我想弄清楚这一点 我实际上想让一个脚本使用 os system 或另一个类似的函数 并
  • 在 C 中运行 setuid 程序的正确方法

    我有一个权限为4750的进程 我的Linux系统中存在两个用户 root 用户和 appz 用户 该进程继承以 appz 用户身份运行的进程管理器的权限 我有两个基本惯例 void do root void int status statu

随机推荐

  • 【算法题目】Leetcode算法题思路:两数相加

    在LeetCode上刷了一题比较基础的算法题 一开始也能解出来 不过在解题过程中用了比较多的if判断 看起来代码比较差 经过思考和改进把原来的算法优化了 题目 给出两个 非空 的链表用来表示两个非负的整数 其中 它们各自的位数是按照 逆序
  • 数据结构(C#)-- 贪心算法解决背包问题

    using System using System Collections Generic using System Linq using System Text using System Data using System Collect
  • 计算机的基本组成及工作原理

    计算机的基本组成及工作原理 1 3 1 计算机系统的组成 计算机系统是由硬件系统和软件系统两大部分组成 这一节将分别介绍计算机硬件系统和软件系统 计算机硬件是构成计算机系统各功能部件的集合 是由电子 机械和光电元件组成的各种计算机部件和设备
  • pytorch: Pool 和 AdaptivePool 的区别和使用方法

    在 pytorch 中 池化层 Pooling 有两种操作方式 一种是手动设计 另一种是自适应池化 一 手动设计 池化层操作 一般有最大值 max 池化和均值 avg 池化 而根据尺寸又有一维 二维 三维 所以 手动设计的池化层有6种函数
  • GitHub加速教程

    转载 GitHub 加速教程 GitHub Hosts 仓库提供最新的GitHub hosts地址 你可以自行配置hosts 但是最佳实践是使用 SwitchHosts 管理你的 hosts 可以阅读文章 SwitchHosts 还能这样管
  • 在Java中尽量使用包装类Integer而不使用int

    1 在MySQL中没有给字段赋值默认为null 当你从数据库中查出来也是null 如果该字段在对应的Java代码中是int类型 null不能对应int类型 因为int代表的是基本数据类型 只能是基本的数字 2 实体类的属性你可以给它赋值也可
  • 三分钟教你学Git(二十一) - 复制连续多个提交

    有时候我们有一个分支A 里边包含了提交A1 gt A2 gt A3 gt A4 gt A5等 然后我们又有一个分支B 里边包含了提交A1 gt A2 gt B1 gt B2 gt B3 现在我们想把分支A中的A3 A4 A5版本复制到分支B
  • vue3项目实战+element-plus

    记录自己搭建前端项目的学习过程和开发过程 希望一起学习进步 采用Vue3 element plus axios vue router sass 目前刚开始是用到了这些 随着开发慢慢更新 npm是比较慢的 所以我用的是pnpm 安装指令 np
  • 播放raw下的音乐文件

    在开发的过程中 我们需要一些不需要用户改变的音乐或图像文件 这些文件存在安卓res raw文件夹中 下面就介绍如何播放res raw文件夹中的乐 1 在res目录下新建一个raw文件夹 2 界面上 xml文件中有一个按钮控件 当我们点击按钮
  • 迭代器模式c++实现

    参考书籍 Head First设计模式 需求场景 餐馆和咖啡馆的菜单分别是用数组和容器 vector 存储的 有一天餐馆和咖啡店合并了想要打印菜单 必须实现两个不同的遍历 数组用sizeof计算长度 用 取元素 容器用size取长度 用at
  • 第二阶段 归纳总结

    总结归纳 文章目录 总结归纳 计算机理论基础为 的童鞋 一二阶段是基础 三四阶段是应用 1 Linux操作系统使用 2 数据机构 3 IO网络编程 4 并发编程 5 正则表达式 6 Mysql数据库 7 git使用 8 项目综合 聊天室 f
  • 2023年十大无代码测试工具 每个测试人员都应该知道

    编码 跟很多技能一样 需要多年的实践才能熟练掌握 让测试人员编写一堆代码组成测试程序 修复程序中的错误 并在几周内完成大量工作很有难度 根据2019 2020年世界质量报告 在敏捷项目中应用自动化测试的最大的问题就是很多测试人员缺乏专业编程
  • 双因素方差分析 matlab,MATLAB的双因素有交互效应的方差分析

    二 MATLAB的双因素有交互效应的方差分析在两个因素的试验中 不但每一个因素单独对试验结果起作用 往往两个因素的不同水平组合还会产生一定的合作效应 在方差分析中称为交互效应 交互效应在对因素方差分析中 通常是当成一个新因素来处理 设因素A
  • Django学习

    创建项目 django admin startproject mysite 目录结构如下 查看帮助 终端页面输入以下命令 django admin help django admin help Type django admin help
  • 缺陷检测数据集

    缺陷检测数据集 东北大学钢材表面缺陷数据集 铁质缺陷 东北大学钢材表面缺陷数据集 简介 该数据集是东北大学宋克臣团队制作而成 是钢材表面缺陷数据集 共有1800张图片 包含六种类型共有六种缺陷 crazing inclusion patch
  • Vue中路由vue-router的使用

    基本使用 1 安装vue router 命令 npm i vue router 2 应用插件 import VueRouter from vue router Vue use VueRouter 3 编写router配置项 import V
  • python中判断 nan 的几种方式

    float NaN 判断 float NaN float NaN pandas中的 nan 判断 pd isnull df1 df1 是DataFrame对象 也可以是Series对象 pd isna 直接判断DataFrame某一列是否为
  • Springboot自定义ThreadPoolTaskExecutor线程池多线程并发执行异步方法

    1 背景 当前因为工作需求 要发送大量Http请求 经过实践遍历发送需要6小时才能发送完毕 如果单线程发送请求会导致主线程阻塞 就会存在以下问题 前端用户等待响应时间过长 无法进行下一步操作 不利于用户操作系统 响应时间过长超过Tomcat
  • 内存分页

    内存分页 p Description 内存分页 p param records 待分页的数据 param pageNum 当前页码 param pageSize 每页显示的条数 return 分页之后的数据 public static
  • Git——C站最详细的Git教程,一篇学会Git(window\linux通用)

    Git C站最详细的Git教程 一篇学会Git window linux通用 文章目录 Git C站最详细的Git教程 一篇学会Git window linux通用 Git简介 Git 作用 为什么要进行源代码管理 Git的诞生 Git管理