Git源码管理

参考视频:16-git的日志以及版本管理_哔哩哔哩_bilibili

参考博客:Git && Docker 学习笔记-CSDN博客

目录

简介

个人操作初始化

初始化git目录

查看生成的git目录文件

配置git工作目录的用户信息

查看工作区的状态,生成文件的状态

添加文件到暂存区、仓库区

仓库区的版本回退和恢复

暂存区回退到工作区

工作区及暂存区修改的撤销

远程仓库克隆到本地初始化

远程仓库的文件创建与上传及信息查询

Git 多人操作

多人协助冲突的发生及解决

标签

分支操作


简介

当前最先进的分布式版本控制系统,作用于源代码管理,方便多人协同开发,便于版本控制

个人操作初始化
初始化git目录

git init

root@pass:/home/pass/Desktop/mytest# git init          初始化目录生成 .git目录
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint:   git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint:   git branch -m <name>
Initialized empty Git repository in /home/pass/Desktop/mytest/.git/

查看生成的git目录文件

ll         查看隐藏目录命令

root@pass:/home/pass/Desktop/mytest# ll         查看隐藏目录命令ll
total 12
drwxr-xr-x 3 root root 4096  3月  1 20:00 ./
drwxr-xr-x 4 pass pass 4096  3月  1 20:00 ../
drwxr-xr-x 7 root root 4096  3月  1 20:00 .git/      以点开头的目录系统不可见
root@pass:/home/pass/Desktop/mytest# cd .git/
root@pass:/home/pass/Desktop/mytest/.git# ls
branches  config  description  HEAD  hooks  info  objects  refs

配置git工作目录的用户信息

git config user.name pass    用户姓名

git config user.email pass@qq.com  用户邮件

root@pass:/home/pass/Desktop/mytest/.git# git config user.name pass    用户姓名
root@pass:/home/pass/Desktop/mytest/.git# git config user.email pass@qq.com  用户邮件
root@pass:/home/pass/Desktop/mytest/.git# cat config     查看用户信息
[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[user]
        name = pass
        email = pass@qq.com

查看工作区的状态,生成文件的状态

git status      查看当前状态

root@pass:/home/pass/Desktop/mytest# git status      查看当前状态
On branch master

No commits yet

nothing to commit (create/copy files and use "git add" to track)
root@pass:/home/pass/Desktop/mytest# touch file      工作区创建文件
root@pass:/home/pass/Desktop/mytest# git status
On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        file

nothing added to commit but untracked files present (use "git add" to track)

添加文件到暂存区、仓库区

git add file                             添加文件file到暂存区 "."当前全部文件

git commit -m 'first commit'   提交到仓库[参数-m 备注信息]

git log                                    查看提交日志

root@pass:/home/pass/Desktop/mytest# git add file   添加文件file 到暂存区"."当前全部文件
root@pass:/home/pass/Desktop/mytest# git status     查看当前状态
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   file

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        me

root@pass:/home/pass/Desktop/mytest# git commit -m 'first commit'   提交到仓库[-m 备注]
[master (root-commit) 474ca08] first commit
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 file
root@pass:/home/pass/Desktop/mytest# git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        me

nothing added to commit but untracked files present (use "git add" to track)
root@pass:/home/pass/Desktop/mytest# git log                            查看日志
commit 474ca0871818584972749d6b84d2d814825d8b2f (HEAD -> master)
Author: pass <pass@qq.com>
Date:   Fri Mar 1 20:08:06 2024 +0800

    first commit

仓库区的版本回退和恢复

回退版本

  • HEAD   当前最新版本
  • HEAD^  当前最新版本的前一个版本
  • HEAD^^ 当前最新版本的前两个版本,依次类推
  • HEAD~1 当前最新版本的前一个版本
  • HEAD~10 当前版本的前10个版本,依次类推

eg: 

git reset  --hard  HEAD~    回退到上一个版本

git reset  --hard  版本号     回退到指定的版本

git reflog                             查看所有的版本记录

root@pass:/home/pass/Desktop/mytest# git reflog   查看所有的版本记录
c9097f1 (HEAD -> master) HEAD@{0}: commit: second commit
474ca08 HEAD@{1}: commit (initial): first commit
root@pass:/home/pass/Desktop/mytest# git reset --hard HEAD^   回退到上一版本
HEAD is now at 474ca08 first commit
root@pass:/home/pass/Desktop/mytest# git log                             查看提交的日志
commit 474ca0871818584972749d6b84d2d814825d8b2f (HEAD -> master)
Author: pass <pass@qq.com>
Date:   Fri Mar 1 20:08:06 2024 +0800

    first commit
root@pass:/home/pass/Desktop/mytest# git reflog
474ca08 (HEAD -> master) HEAD@{0}: reset: moving to HEAD^
c9097f1 HEAD@{1}: commit: second commit
474ca08 (HEAD -> master) HEAD@{2}: commit (initial): first commit
root@pass:/home/pass/Desktop/mytest# git reset --hard c9097f1   回退到第二个版本
HEAD is now at c9097f1 second commit

暂存区回退到工作区

git reset HEAD [file]

root@pass:/home/pass/Desktop/mytest# git status
On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   learn.txt
        new file:   me

root@pass:/home/pass/Desktop/mytest# git reset HEAD learn.txt
root@pass:/home/pass/Desktop/mytest# git status
On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   me

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        learn.txt

工作区及暂存区修改的撤销

git checkout learn.txt   撤销工作区及暂存区的修改

root@pass:/home/pass/Desktop/mytest# git status   暂存区的文件learn.txt
On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   learn.txt
        new file:   me

root@pass:/home/pass/Desktop/mytest# echo 888 >> learn.txt  修改工作区的文件
root@pass:/home/pass/Desktop/mytest# cat learn.txt
666
999
888
root@pass:/home/pass/Desktop/mytest# git checkout learn.txt   撤销工作区及暂存区的修改
Updated 1 path from the index
root@pass:/home/pass/Desktop/mytest# cat learn.txt
666
999

远程仓库克隆到本地初始化

git clone git@github.com:past-plus/learn_test.git

root@pass:/home/pass/remote_learn# git clone git@github.com:past-plus/learn_test.git
Cloning into 'learn_test'...   克隆远程仓库到本地
warning: You appear to have cloned an empty repository.
root@pass:/home/pass/remote_learn# cd learn_test/
root@pass:/home/pass/remote_learn/learn_test# ll
total 12
drwxr-xr-x 3 root root 4096  3月  1 21:24 ./
drwxr-xr-x 3 root root 4096  3月  1 21:24 ../
drwxr-xr-x 7 root root 4096  3月  1 21:24 .git/
root@pass:/home/pass/remote_learn/learn_test# cd .git/
root@pass:/home/pass/remote_learn/learn_test/.git# ls    远程仓库的git配置
branches  config  description  HEAD  hooks  info  objects  refs
root@pass:/home/pass/remote_learn/learn_test/.git# cat config   远程仓库的配置信息
[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = git@github.com:past-plus/learn_test.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "main"]
        remote = origin
        merge = refs/heads/main
root@pass:/home/pass/remote_learn/learn_test# git config user.name pass   配置用户信息
root@pass:/home/pass/remote_learn/learn_test# git config user.eamil pass@qq.com

远程仓库的文件创建与上传及信息查询

git add .   提交到暂存区

git status  查看当前状态

git commit -m 'test and learn'  提交到仓库

git push    上传到远程仓库

root@pass:/home/pass/remote_learn/learn_test# touch test.py learn.py  创建文件
root@pass:/home/pass/remote_learn/learn_test# git add .   提交到暂存区
root@pass:/home/pass/remote_learn/learn_test# git status  查看当前状态
On branch main

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   learn.py
        new file:   test.py

root@pass:/home/pass/remote_learn/learn_test# git commit -m 'test and learn'  提交到仓库
[main (root-commit) b7588d1] test and learn
 2 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 learn.py
 create mode 100644 test.py
root@pass:/home/pass/remote_learn/learn_test# git push    上传到远程仓库
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Delta compression using up to 4 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 232 bytes | 232.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To github.com:past-plus/learn_test.git
 * [new branch]      main -> main
root@pass:/home/pass/remote_learn/learn_test# vim test.py  更新文件信息,需要再次上传
root@pass:/home/pass/remote_learn/learn_test# git commit -m 'test modified'
On branch main
Your branch is up to date with 'origin/main'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   test.py

no changes added to commit (use "git add" and/or "git commit -a")
root@pass:/home/pass/remote_learn/learn_test# git add .
root@pass:/home/pass/remote_learn/learn_test# git commit -m 'test modified'
[main 9d0f8f9] test modified
 1 file changed, 2 insertions(+)
root@pass:/home/pass/remote_learn/learn_test# git status
On branch main
Your branch is ahead of 'origin/main' by 1 commit.
  (use "git push" to publish your local commits)

nothing to commit, working tree clean
root@pass:/home/pass/remote_learn/learn_test# git log  查看提交日志
commit 9d0f8f9b493856ec917edd67807ad0676e12da9a (HEAD -> main)
Author: pass <10752095+past_pass@user.noreply.gitee.com>
Date:   Fri Mar 1 21:35:20 2024 +0800

    test modified

commit b7588d1d98bf2a1287904610bff4d92397393440 (origin/main)
Author: pass <10752095+past_pass@user.noreply.gitee.com>
Date:   Fri Mar 1 21:30:52 2024 +0800

    test and learn
root@pass:/home/pass/remote_learn/learn_test# git reflog  查看历史版本
9d0f8f9 (HEAD -> main) HEAD@{0}: commit: test modified
b7588d1 (origin/main) HEAD@{1}: commit (initial): test and learn
root@pass:/home/pass/remote_learn/learn_test# git push   提交到远程仓库
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 4 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 303 bytes | 303.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To github.com:past-plus/learn_test.git
   b7588d1..9d0f8f9  main -> main

 运行结果:

Git 多人操作

git commit -am 'xxxx'    参数a 表示add添加到暂存区

git pull                           拉取远程仓库到工作区

员工a的操作

root@pass:/home/pass/gitee_test/test_a# git config user.name 'a'  配置用户信息
root@pass:/home/pass/gitee_test/test_a# git config user.name 'a@qq.com'
root@pass:/home/pass/gitee_test/test_a# touch test.py
root@pass:/home/pass/gitee_test/test_a# git add .
root@pass:/home/pass/gitee_test/test_a# git status

root@pass:/home/pass/gitee_test/test_a# git commit -m 'test commit first'  提交到仓库
[master (root-commit) 7bc421c] test commit first
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 test.py
root@pass:/home/pass/gitee_test/test_a# git push    上传到远程仓库
Username for 'https://gitee.com': past_pass
Password for 'https://past_pass@gitee.com':
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 226 bytes | 226.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-6.4]
To https://gitee.com/past_pass/test.git
 * [new branch]      master -> master

员工b

root@pass:/home/pass/gitee_test/test_b# git config user.name 'b'
root@pass:/home/pass/gitee_test/test_b# git config user.email 'b@qq.com'
root@pass:/home/pass/gitee_test/test_b# git pull
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 206 bytes | 206.00 KiB/s, done.
From https://gitee.com/past_pass/test
 * [new branch]      master     -> origin/master
root@pass:/home/pass/gitee_test/test_b# ls
test.py

多人协助冲突的发生及解决

造成的原因: 多人修改同一份代码,需要先拉取最新的代码修改,否则会造成冲突

员工a

root@pass:/home/pass/gitee_test/test_a# echo 'echo "git learn"'>>learn.py
root@pass:/home/pass/gitee_test/test_a# cat learn.py
echo "learn"
echo "git learn"
root@pass:/home/pass/gitee_test/test_a# git commit -am 'update learn'
[master cda86ba] update learn
 1 file changed, 1 insertion(+)
root@pass:/home/pass/gitee_test/test_a# git push

员工b[没有pull拉取远程仓库的代码而是直接在本地进行修改上传造成冲突]

root@pass:/home/pass/gitee_test/test_b# cat learn.py
echo "learn"
echo "xxx"
root@pass:/home/pass/gitee_test/test_b# git commit -am 'update file'

root@pass:/home/pass/gitee_test/test_b# git push

➜  git:(test) git pull origin test
 * branch              test       -> FETCH_HEAD
hint: You have divergent branches and need to specify how to reconcile them.
hint: You can do so by running one of the following commands sometime before
hint: your next pull:
hint:
hint:   git config pull.rebase false  # merge (the default strategy)
hint:   git config pull.rebase true   # rebase
hint:   git config pull.ff only       # fast-forward only
hint:
hint: You can replace "git config" with "git config --global" to set a default
hint: preference for all repositories. You can also pass --rebase, --no-rebase,
hint: or --ff-only on the command line to override the configured default per
hint: invocation.
fatal: Need to specify how to reconcile divergent branches.

标签
  • 当一个大版本完成之后,需要打一个标签,记录大版本备份代码

git tag -a v1.0(标签名) -m 'version1.0'(描述) 本地打标签

git push origin v1.0(标签名)                                推送标签到远程仓库

root@pass:/home/pass/gitee_test/test# git commit -am 'commit learn file'
[master 62eda34] commit learn file
 1 file changed, 1 insertion(+), 1 deletion(-)
root@pass:/home/pass/gitee_test/test# git tag -a v1.0 -m 'version1.0'
root@pass:/home/pass/gitee_test/test# git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Writing objects: 100% (3/3), 278 bytes | 139.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-6.4]
To https://gitee.com/past_pass/test.git
   e1c4aef..62eda34  master -> master
root@pass:/home/pass/gitee_test/test# git push origin v1.0

 运行结果:

分支操作

git branch                         查看当前分支

git checkout -b test          创建并切换分支test

git checkout master         切换主分支master

git merge test                   融合分支test到主支master

root@pass:/home/pass/gitee_test/test# git branch
* master
root@pass:/home/pass/gitee_test/test# git checkout -b test
Switched to a new branch 'test'
root@pass:/home/pass/gitee_test/test# git branch
  master
* test

root@pass:/home/pass/gitee_test/test# git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
root@pass:/home/pass/gitee_test/test# git branch
* master
  test

root@pass:/home/pass/gitee_test/test# git merge test
Already up to date.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/713798.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++面试干货---带你梳理常考的面试题(一)

顾得泉&#xff1a;个人主页 个人专栏&#xff1a;《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂&#xff0c;年薪百万&#xff01; 1.C和C的区别 1.语法和特性&#xff1a;C是一种过程式编程语言&#xff0c;而C是一种面向对象编程语言。C在C的基础上增加…

Java智慧云HIS医院信息化系统源码 更具灵活性、扩展性

目录 什么是云HIS 趋势与转变 HIS上云后有哪些好处 解决方案 云HIS组成 1、门诊挂号 2、住院管理 3、电子病历 4、药物管理 5、统计报表 6、综合维护 7、运营运维 什么是云HIS 云HIS是一种基于云计算技术的医院信息管理系统。云HIS可以帮助医院管理各类医院信息&a…

Linux系统中安装redis+redis后台启动+常见相关配置

1、下载Redis Redis官网&#xff1a;https://redis.io/ 历史版本&#xff1a; http://download.redis.io/releases 2、连接Linux&#xff08;或者VMwear&#xff09; 我们安装的是linux版本的redis 打开xftp我们需要先将我们的Redis上传到服务器上 解压到这里 解压的指令 …

Spring MVC源码中设计模式——适配器模式

适配器模式介绍 适配器模式&#xff08;Adapter Pattern&#xff09;是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式&#xff0c;它结合了两个独立接口的功能。 应用场景&#xff1a; 1、系统需要使用现有的类&#xff0c;而此类的接口不符合系统的需要…

[c++] 继承和多态整理一

1 private 和 protected 继承&#xff0c;子类指针不能赋值给父类指针 如下代码&#xff0c;有一个基类 Base&#xff0c;Derived1&#xff0c;Derived2&#xff0c;Derived3 3 个子类继承了基类 Base&#xff0c;分别是 private 继承&#xff0c;protected 继承&#xff0c;p…

基于springboot+vue的纺织品企业财务管理系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

Socket网络编程(五)——TCP数据发送与接收并行

目录 主要实现需求TCP 服务端收发并行重构启动main方法重构重构分离收发消息的操作重构接收消息的操作重构发送消息TCPServer调用发送消息的逻辑监听客户端链接逻辑重构Socket、流的退出与关闭 TCP 客户端收发并行重构客户端 main函数重构客户端接收消息重构客户端发送消息重构…

Zookeeper学习1:概述、安装、应用场景、集群配置

文章目录 概述安装LinuxWindows 配置参数集群参考配置文件配置步骤流程启动 概述 Zookeeper&#xff1a; 为分布式框架组件提供协调服务的中间件 【类似&#xff1a;文件系统通知机制】 负责存储上下层应用关系的数据以及接收观察者注册监听&#xff0c;一旦观察查关心的数据发…

笔记73:ROS中的各种消息包

参考视频&#xff1a; 33.ROS 的标准消息包 std_msgs_哔哩哔哩_bilibili 34. ROS 中的几何包 geometry_msgs 和 传感器包 sensor_msgs_哔哩哔哩_bilibili 标准消息包&#xff1a;std_msgs常用消息包&#xff1a;common_msgs导航消息包&#xff1a;nav_msgs几何消息包&#xf…

实战分享:Tomcat打破双亲委派模型,实现Web应用独立与安全隔离的奥秘

目录 一、JVM 类加载机制 二、Tomcat 类加载器 2.2 findClass 介绍 3.2 loadClass 介绍 三、web应用隔离 3.1 Spring 加载问题 在开始文章内容之前&#xff0c;先来看三个问题 假如在 Tomcat 上运行了两个 Web 应用程序&#xff0c;两个 web 应用中有同名的Servlet&#xf…

C++数据结构与算法——二叉树的属性

C第二阶段——数据结构和算法&#xff0c;之前学过一点点数据结构&#xff0c;当时是基于Python来学习的&#xff0c;现在基于C查漏补缺&#xff0c;尤其是树的部分。这一部分计划一个月&#xff0c;主要利用代码随想录来学习&#xff0c;刷题使用力扣网站&#xff0c;不定时更…

AGI概念与实现

AGI AGI&#xff08;Artificial General Intelligence&#xff09;&#xff0c;中文名为“通用人工智能”或“强人工智能”&#xff0c;是指通过机器学习和数据分析等技术&#xff0c;使计算机具有类似于人类的认知和学习能力的技术. 多模态的大模型 &#xff08;Multimodal…

详细介绍如何用windows自带Hyper-V安装虚拟机(windows11和ubuntu22)

通过系统自带的hyper-v安装windows11&#xff0c;舒服又惬意&#xff0c;相比用第三方虚拟机软件速度快很多。 硬件准备 准备 系统需要符合能安装 Hyper-V 的最低要求windows版本含Hyper-V的功能 电脑空间 电脑要有足够的空间来安装你这个虚拟机。根据自己的磁盘容量情况来规…

2673. 使二叉树所有路径值相等的最小代价

给你一个整数 n 表示一棵 满二叉树 里面节点的数目&#xff0c;节点编号从 1 到 n 。根节点编号为 1 &#xff0c;树中每个非叶子节点 i 都有两个孩子&#xff0c;分别是左孩子 2 * i 和右孩子 2 * i 1 。 树中每个节点都有一个值&#xff0c;用下标从 0 开始、长度为 n 的整…

CloudCanal x Hive 构建高效的实时数仓

简述 CloudCanal 最近对于全周期数据流动进行了初步探索&#xff0c;打通了Hive 目标端的实时同步&#xff0c;为实时数仓的构建提供了支持&#xff0c;这篇文章简要做下分享。 基于临时表的增量合并方式基于 HDFS 文件写入方式临时表统一 Schema任务级的临时表 基于临时表的…

【Linux实践室】Linux初体验

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;Linux实践室、网络奇遇记 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 一. ⛳️任务描述二. ⛳️相关知识2.1 &#x1f514;Linux 目录结构介绍2.2 &#x1f514;Linux …

MySQL:一行记录如何

1、表空间文件结构 表空间由段「segment」、区「extent」、页「page」、行「row」组成&#xff0c;InnoDB存储引擎的逻辑存储结构大致如下图&#xff1a; 行 数据库表中的记录都是按「行」进行存放的&#xff0c;每行记录根据不同的行格式&#xff0c;有不同的存储结构。 页…

hippy 调试demo运行联调-mac环境准备篇

适用对于终端编译环境不熟悉的人看&#xff0c;仅mac端 hippy 调试文档官网地址 前提&#xff1a;请使用node16 联调预览效果图&#xff1a; 编译iOS Demo环境准备 未跑通&#xff0c;待补充 编译Android Demo环境准备 1、正常安装Android Studio 2、下载Android NDK&a…

Windows系统误删文件恢复

最近很多用户反馈误删文件的场景比较多.下面华仔将讲解数据恢复的原理和过程.以及一些注意事项。 建议的数据恢复软件 1.EaseUS Data Recovery Wizard(易我数据恢复)需要断网使用 2.Wondershare Recoverit(万兴数据恢复)&#xff0c; Windows系统删除文件原理&#xff1a;如果是…

HTTPS是什么,详解它的加密过程

目录 1.前言 2.两种加密解密方式 2.1对称加密 2.2非对称加密 3.HTTPS的加密过程 3.1针对明文的对称加密 3.2针对密钥的非对称加密 3.3证书的作用 1.前言 我们知道HTTP协议是超文本传输协议,它被广泛的应用在客户端服务器上,用来传输文字,图片,视频,js,html等.但是这种传…