Git常用指令使用

摘要:之前代码管理都是借助于fork、sourceTree等图形工具,最近发现直接用命令也好用,就总结Git常用的指令

1、Git的介绍

1.1 git官网

        安装: Git - Downloading Packageicon-default.png?t=N7T8https://git-scm.com/download/mac        Mac上安装,直接使用,并使用查看版本,验证安装成功

czh12@czh12deiMac ~ % brew install git
Running `brew update --auto-update`...
Error: Failed to download https://formulae.brew.sh/api/formula.jws.json!
Failed to download https://formulae.brew.sh/api/cask.jws.json!
==> Downloading https://formulae.brew.sh/api/formula.jws.json
######################################################################## 100.0%
==> Downloading https://formulae.brew.sh/api/cask.jws.json
-=O=-                                          #     #    #    #              
curl: (28) Operation too slow. Less than 100 bytes/sec transferred the last 5 seconds
Error: Failure while executing; `/usr/bin/env /opt/homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --user-agent Homebrew/4.0.11-93-g367fe53\ \(Macintosh\;\ arm64\ Mac\ OS\ X\ 11.6\)\ curl/7.64.1 --header Accept-Language:\ en --fail --progress-bar --location --remote-time --output /Users/czh12/Library/Caches/Homebrew/api/cask.jws.json --compressed --speed-limit 100 --speed-time 5 --progress-bar https://formulae.brew.sh/api/cask.jws.json` exited with 28. Here's the output:
-=O=-                                          #     #    #    #              
curl: (28) Operation too slow. Less than 100 bytes/sec transferred the last 5 seconds

==> Downloading https://formulae.brew.sh/api/cask.jws.json
######################################################################## 100.0%
==> Fetching dependencies for git: gettext and pcre2
==> Fetching gettext
==> Downloading https://raw.githubusercontent.com/Homebrew/homebrew-core/6b9f22a
-=O=-                                     #     #     #    #                  
curl: (22) The requested URL returned error: 404 
Error: git: Failed to download resource "gettext--ruby-source"
Download failed: https://raw.githubusercontent.com/Homebrew/homebrew-core/6b9f22abafb887533d9dc5dd06f604b52ba7c24e/Formula/gettext.rb
czh12@czh12deiMac ~ % git -v
unknown option: -v
usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
           [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
           <command> [<args>]
czh12@czh12deiMac ~ % git --version
git version 2.30.1 (Apple Git-130)

1.2 重要概念

        Git、GitHub 和 GitLab 的区别

  1. Git

    Git 是一个分布式版本控制系统,用于跟踪文件的变化并协助多人协作开发项目。开发者可以通过 Git 轻松地创建分支、提交更改、合并代码等操作,从而有效地管理代码版本。Git 允许每个开发者在本地拷贝完整的代码仓库,并且可以独立工作,无需依赖中央服务器。

  2. GitHub

    GitHub 是一个基于 Git 的代码托管平台,提供了代码仓库托管、团队协作、问题追踪、持续集成等功能。开发者可以在 GitHub 上创建公开或私有的代码仓库,与团队成员共享代码,进行代码审查,管理项目等。GitHub 是一个社交化的平台,开发者可以在上面交流、学习和分享代码。

  3. GitLab

    GitLab 也是一个基于 Git 的代码托管平台,类似于 GitHub,但提供了更多的功能和服务。除了代码托管外,GitLab 还包括持续集成、部署管道、代码审查、事务管理等功能。GitLab 可以作为自托管的解决方案,企业可以在自己的服务器上搭建 GitLab 实例,更好地控制数据和安全性

        四个区域

        工作区→暂存区→本地仓库→远端仓库

  1. 工作区(Working Directory)

    工作区是指存放项目源文件的目录,是开发者直接编辑和修改代码的地方。在工作区中进行的修改不会被 Git 跟踪或记录。

  2. 暂存区(Staging Area)

    暂存区是一个中间区域,用于临时存放已经修改但还未提交到本地仓库的更改。开发者可以通过将工作区的修改内容暂存到暂存区,然后一次性提交到本地仓库。

  3. 本地仓库(Local Repository)

    本地仓库是存放项目完整历史记录和版本信息的地方,包含所有提交的快照和元数据。当开发者提交(commit)更改时,这些更改会被永久保存到本地仓库中。

  4. 远端仓库(Remote Repository)

    远端仓库是分布式版本控制系统中的远程存储库,通常托管在云端或其他服务器上。开发者可以将本地仓库中的更改推送(push)到远端仓库,或者从远端仓库拉取(pull)最新的更改到本地仓库。

        HEAD:当前所在位置 在 Git 中,HEAD 是一个指向当前所在位置的符号引用。它可以指向当前所在的分支(通常是最新提交的快照)或直接指向特定的提交。 HEAD 通常用于表示当前工作目录所基于的提交版本,也可以用来切换分支、查看历史记录等操作。

        master:主分支

        在 Git 中,master 是默认的主分支名称,新建仓库时通常会自动创建这个分支。 开发者可以在 master 分支上进行主要的开发工作,也可以根据需要创建其他分支进行功能开发或修复。

        branch:分支

        分支是 Git 中用于独立开发某个功能或修复某个问题的机制。通过创建分支,可以在不影响主线开发的情况下进行并行开发。 每个分支包含自己的提交历史,可以随时切换不同的分支进行工作。

        origin:远端

        在 Git 中,origin 是默认的远端仓库名称,通常指向项目在远程服务器上的中央仓库。 当克隆一个远程仓库时,Git 会自动为远程仓库创建一个名为 origin 的别名,方便开发者与远程仓库进行交互。

2、单人开发常用Git命令

2.1 git 配置

        配置的生效范围,全局、系统和本地的Git配置文件。例如:

        git config --global:使用全局配置文件(用户层面)

        git config --system:使用系统配置文件(系统层面)

        git config --local:使用仓库配置文件(本地项目)

czh12@czh12deiMac ~ % git config --global user.name 'czh12'
czh12@czh12deiMac ~ % git config --global user.email 'czh12@163.com'
czh12@czh12deiMac ~ % git config --get user.name
czh12
czh12@czh12deiMac ~ % git config --get user.email
czh12@163.com

        2.2 创建仓库实现初次提交

        初始化git仓库

czh12@czh12deiMac ~ % cd /Users/czh12/Desktop/git 
czh12@czh12deiMac git % pwd
/Users/czh12/Desktop/git
czh12@czh12deiMac git % ls
imooc_git
czh12@czh12deiMac git % git init imooc_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 /Users/czh12/Desktop/git/imooc_git/.git/

        注:查看隐藏文件夹 shift +command + .

        git对文件的增删改查

        add添加到暂存区:git add

        commit 提交到本地仓库: git commit

        status 查看状态: git status

czh12@czh12deiMac git % ls
imooc_git
czh12@czh12deiMac git % cd imooc_git
czh12@czh12deiMac imooc_git % ls          
month.txt
**## add添加到暂存区:git add 文件名
czh12@czh12deiMac imooc_git % git add month.txt
czh12@czh12deiMac imooc_git % git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
  new file:   month.txt
## commit 提交到本地仓库:  git commit
czh12@czh12deiMac imooc_git % git commit
[master (root-commit) 054f99a] first commit
 1 file changed, 4 insertions(+)
 create mode 100755 month.txt
czh12@czh12deiMac imooc_git % git status
On branch master
nothing to commit, working tree clean
## 修改文件后未上传到暂存区, status 查看状态: git status
czh12@czh12deiMac imooc_git % git status
On branch master
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:   month.txt

no changes added to commit (use "git add" and/or "git commit -a")
czh12@czh12deiMac imooc_git % git add month.txt
czh12@czh12deiMac imooc_git % git status       
On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
  modified:   month.txt
## 一步完成提交到暂存区和本地仓库
czh12@czh12deiMac imooc_git % git commit -a
[master cf664e3] commit -a
 1 file changed, 3 insertions(+)

        rm 移除文件:git rm 文件名

        mv 重命名文件:git mv 原名 改后名称

czh12@czh12deiMac imooc_git % git add month2.txt
czh12@czh12deiMac imooc_git % git commit 
[master f350d57] month2.txt
 1 file changed, 7 insertions(+)
 create mode 100755 month2.txt
**## 移除文件:git rm 文件名**
czh12@czh12deiMac imooc_git % git rm month2.txt
rm 'month2.txt'
czh12@czh12deiMac imooc_git % git status
On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
  deleted:    month2.txt

czh12@czh12deiMac imooc_git % git commit
[master d6080b7] remove month2.txt
 1 file changed, 7 deletions(-)
 delete mode 100755 month2.txt
czh12@czh12deiMac imooc_git % git status
On branch master
nothing to commit, working tree clean
## 重命名文件:git mv 原名  改后名称 
czh12@czh12deiMac imooc_git % git mv month.txt  monthname.txt
czh12@czh12deiMac imooc_git % git commit
[master 524d2ce] rename month.txt
 1 file changed, 0 insertions(+), 0 deletions(-)
 rename month.txt => monthname.txt (100%)

        git log help 看所有选项

        git log -n 限定log个数

        git log —oneline 单行简洁模式

        git log —stat 查看提交历史以及每次提交所引入的更改的统计信息

        git log --author='提交者' 按提交者查询

        git log --grep='关键字' 按照关键字搜索提交记录

czh12@czh12deiMac imooc_git % git log --help
## git log -n
czh12@czh12deiMac imooc_git % git log -1
commit 524d2ce4e9757710202e5d8b117eb7dc52212fd3 (HEAD -> master)
Author: czh12 <czh12@163.com>
Date:   Mon Mar 25 15:35:28 2024 +0800

    rename month.txt
czh12@czh12deiMac imooc_git % git log --oneline
524d2ce (HEAD -> master) rename month.txt
d6080b7 remove month2.txt
f350d57 month2.txt
cf664e3 commit -a
054f99a first commit
czh12@zh12deiMac imooc_git % git log --stat
commit 524d2ce4e9757710202e5d8b117eb7dc52212fd3 (HEAD -> master)
Author: czh12 <czh12@163.com>
Date:   Mon Mar 25 15:35:28 2024 +0800

    rename month.txt

 month.txt => monthname.txt | 0
 1 file changed, 0 insertions(+), 0 deletions(-)

czh12@czh12deiMac imooc_git % git log --author='czh12'
commit 524d2ce4e9757710202e5d8b117eb7dc52212fd3 (HEAD -> master)
Author: czh12 <czh12@163.com>
Date:   Mon Mar 25 15:35:28 2024 +0800

    rename month.txt

czh12@czh12deiMac imooc_git % git log --grep='month'
commit 524d2ce4e9757710202e5d8b117eb7dc52212fd3 (HEAD -> master)
Author: czh12 <czh12@163.com>
Date:   Mon Mar 25 15:35:28 2024 +0800

    rename month.txt

commit d6080b76aeadba837132ac6ccee67cfc129b4d45
Author: czh12 <czh12@163.com>
Date:   Mon Mar 25 15:33:15 2024 +0800

    remove month2.txt

commit f350d57a52c64cc6467b8c6841f494e441711541
Author: czh12 <czh12@163.com>
Date:   Mon Mar 25 15:31:15 2024 +0800

    month2.txt

2.3 git的图形化界面

learnGitBranching

Learn Git Branchingicon-default.png?t=N7T8https://learngitbranching.js.org/?locale=zh_CN&NODEMO=

gitk安装:brew install git

2.4 分支Branch

        创建分支:git branch 分支名

        切换分支:git checkout 分支名

czh12@czh12deiMac imooc_git % git branch imoocbranch1
czh12@czh12deiMac imooc_git % git checkout imoocbranch1
Switched to branch 'imoocbranch1'
## 创建分支并切换
czh12@czh12deiMac imooc_git % git checkout -b  imoocbranch2
Switched to a new branch 'imoocbranch2'

2.5 其他使用场景

        git reset 撤销工作目录中的更改、回退到之前的提交或者修改提交历史

        git reset --hard <commit-hash> :撤销所有从指定提交之后的更改,包括暂存区的更改

        git reset --hard HEAD^ : ^号的个数为回退步数

        git reset --hard HEAD~n :n为回退步数

        场景:撤销最近的提交,可使用偏移符号:^和~

## 回退时使用:^的个数表示回退的提交数,~n中n表示回退的提交数
czh12@czh12deiMac imooc_git % git reset --hard HEAD^
HEAD is now at d6080b7 remove month2.txt
czh12@czh12deiMac imooc_git % git reset --hard HEAD~2
HEAD is now at cf664e3 commit -a

        git rebase: 变基,会改变原有分支的路径,将一系列提交到一个新的基础提交上

        git rebase main :将imooc分支上原有提交,重新提交到main分支(下图中'表示变基过)

        合并commit

        git reset --soft <commit-hash> : 当前分支的 HEAD 指针移动到指定的提交(commit-hash),同时保留工作目录(working directory)和暂存区(staging area)中的更改。再重新提交,将多次commit合并提交。

        场景: 清理提交历史,移除不必要的提交或者合并提交;也可以撤销最近的提交再重新提(git reset --soft HEAD^)

czh12@czh12deiMac imooc_git % git log -4   
commit 9cd46ac5fa118a83ef86365eb1a394086e692442 (HEAD -> master)
Author: czh12 <czh12@163.com>
Date:   Mon Mar 25 17:20:23 2024 +0800

    jul

commit 985a67b124381309110b526d355ec4465172823d
Author: czh12 <czh12@163.com>
Date:   Mon Mar 25 17:17:57 2024 +0800

    jun

commit fa6d3d1bdd85dd5961d7392612ef9e5bd0b437aa
Author: czh12 <czh12@163.com>
Date:   Mon Mar 25 17:16:51 2024 +0800

    may

commit **cf664e39f3bf1**fe7347e2c30ce3662171f395510
Author: czh12 <czh12@163.com>
Date:   Mon Mar 25 11:37:27 2024 +0800

    commit -a
czh12@czh12deiMac imooc_git % **git reset --soft ****cf664e39f3bf1fe**
czh12@czh12deiMac imooc_git % git status
On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
  modified:   month.txt

czh12@czh12deiMac imooc_git % git add monthname.txt
fatal: pathspec 'monthname.txt' did not match any files
czh12@czh12deiMac imooc_git % git add month.txt    
czh12@czh12deiMac imooc_git % git commit
[master 2c71f6e] may june july
 1 file changed, 6 insertions(+)
czh12@czh12deiMac imooc_git % git log -3
commit 2c71f6e8b83f2b25c7c3f41437ad4876e77f325d (HEAD -> master)
Author: czh12 <czh12@163.com>
Date:   Mon Mar 25 17:34:01 2024 +0800

    **may june july**

commit cf664e39f3bf1fe7347e2c30ce3662171f395510
Author: czh12 <czh12@163.com>
Date:   Mon Mar 25 11:37:27 2024 +0800

    commit -a

commit 054f99a8e676a6727d49e31270e05e4e8c2c9fc7
Author: czh12 <czh12@163.com>
Date:   Mon Mar 25 11:29:59 2024 +0800

    first commit

        修改commit

        git commit --amend 修复的意思,但只能修改最新的一次提交

czh12@czh12deiMac imooc_git % git add month.txt 
czh12@czh12deiMac imooc_git %  git commit --amend
[master 5f84ec5] may june july Augest
 Date: Mon Mar 25 17:34:01 2024 +0800
 1 file changed, 6 insertions(+)
czh12@czh12deiMac imooc_git % git log -1         
commit 5f84ec5c1c59f87983753fc492a86d6e0c91d2fc (HEAD -> master)
Author: czh12 <czh12@163.com>
Date:   Mon Mar 25 17:34:01 2024 +0800

    **may june july Augest**

        修改之前某次指定的提交

        git rebase -i <commit-hash>

        然后选择edit, 编辑指定的提交

czh12@czh12deiMac imooc_git % git rebase -i cf664e39f3bf1fe734
Stopped at 5f84ec5...  may june july Augest
You can amend the commit now, with

  git commit --amend   ## 提示后续步骤

Once you are satisfied with your changes, run

  git rebase --continue   ## 提示后续步骤
  
## 此处选择edit
edit 5f84ec5 may june july Augest
pick 2c7995d Sep
pick 7e7ba3a Oct

# Rebase cf664e3..7e7ba3a onto cf664e3 (3 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup <commit> = like "squash", but discard this commit's log message
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# .       create a merge commit using the original merge commit's
# .       message (or the oneline, if no original merge commit was
# .       specified). Use -c <commit> to reword the commit message.
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
~                                                                                                                                                                        
~ 

czh12@czh12deiMac imooc_git % git add month.txt
czh12@czh12deiMac imooc_git % git commit --amend
[detached HEAD 4d9c942] may June july Augest
 Date: Mon Mar 25 17:34:01 2024 +0800
 1 file changed, 6 insertions(+)
czh12@zh12deiMac imooc_git % git rebase --continue
Successfully rebased and updated refs/heads/master.


        撤销操作

        撤销当前分支的变化

        场景:切换到错误的分支,并提交了多次,但提交的代码是依然需要的

        git reset --soft commitID 回退代码,但依然保存提交内容

        git stash 储藏代码

        git commit 提交代码

        上述操作会将多次提交合并为一次提交

3. 团队开发中常用Git命令

未完待续……

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【WEEK5】 【DAY2】文件上传下载【中文版】

2024.3.26 Tuesday 目录 10.文件的上传和下载10.1.准备工作10.2.基础配置10.2.1.新建名为springmvc-08-file的module10.2.2.新建controller文件夹&#xff0c;applicationContext.xml文件 10.3.文件上传10.3.1.在本模块的pom.xml中导入文件上传的jar包&#xff1a;commons-file…

虎课网C4D软件系列课程

教程介绍 讲解C4D从0基础到精通&#xff0c;课程涵盖C4D的多边形建模&#xff0c;材质灯光&#xff0c;运动图形&#xff0c;效果器&#xff0c;并有实例教学。 学习地址 百度网盘&#xff1a;https://pan.baidu.com/s/1R9zampaH-KWH7Q6ZcPTrQQ?pwdxhlw

Embedding模型提升效果的方法之一:Whitening和pooling

0. 前言 Embedding模型的主流框架基本上分为三类——基于bert结构的&#xff0c;基于GPT结构的和基于T5结构的&#xff0c;当然这些结构都是Transformer的变形。对于Embedding模型&#xff0c;使用bert结构目前看是最好的。有篇论文论文对基于bert的Embedding模型和基于GPT的E…

How to convert .py to .ipynb in Ubuntu 22.04

How to convert .py to .ipynb in Ubuntu 22.04 jupyter nbconvertp2j 最近看到大家在用jupyter notebook&#xff0c;我也试了一下&#xff0c;感觉还不错&#xff0c;不过&#xff0c;也遇到了一些问题&#xff0c;比方说&#xff0c;我有堆的.py文件&#xff0c;如果要一个一…

STM32 使用gcc编译介绍

文章目录 前言1. keil5下的默认编译工具链用的是哪个2. Arm编译工具链和GCC编译工具链有什么区别吗&#xff1f;3. Gcc交叉编译工具链的命名规范4. 怎么下载gcc-arm编译工具链参考资料 前言 我们在STM32上进行开发时&#xff0c;一般都是基于Keil5进行编译下载&#xff0c;Kei…

C++STL学习之unordered_map与unordered_set(底层Hash)

前言&#xff1a;我们前面已经学习论map和set&#xff0c;现在又冒出来一个unordered_map和unordered_set&#xff0c;这两个有啥差别吗&#xff1f;前面我们已经说过&#xff0c;map和set的底层是红黑树&#xff0c;那unordered_map和unordered_set的底层是什么呢&#xff1f;…

2024 解决 Failed to launch process [ElasticSearch]

操作系统&#xff1a;centos 7 (x86) sonarQube不能使⽤root账号进⾏启动&#xff0c;所以需要创建普通⽤户及其⽤户组 一、问题描述&#xff1a;使用root启动时&#xff0c;一直反馈 SonarQube is not running 问题原因&#xff1a;不能够使用root用户进行启动 解决方案…

Python(Socket) +Unreal(HTTP)

Python&#xff08;Socket&#xff09; Unreal&#xff08;HTTP&#xff09; python&#xff08;Socket&#xff09;:UE&#xff1a;Post请求并发送本机IP 上班咯&#xff0c;好久没记笔记了。。。 局域网 UE的apk&#xff0c;请求Python的Socket 跑起Socket &#xff0c;UE发 …

【Python机器学习系列】sklearn机器学习模型的保存---joblib法

这是我的第247篇原创文章。 一、引言 joblib包是由scikit-learn外带的&#xff0c;是一个用于将Python对象序列化为磁盘文件的库&#xff0c;专门用于大型数组&#xff0c;常用于保存机器学习模型。它可以高效地处理大型数据集和模型。对于大数据和大型机器学习模型&#xff0…

JavaScript高级(一)--V8引擎上

浏览器渲染的原理 主流浏览器及其内核 内核浏览器css前缀备注TridentIE4-IE11-ms最新的Edge已转向BlinkGecko火狐浏览器-mozWebkitsafari、旧版谷歌-webkitBlinkGoogle Chrome-webkitPrestoopera-o现在的opera转向了Blink 我们常说的浏览器内核指的就是浏览器的排版引擎&…

【No.20】蓝桥杯简单数论下|寻找整数|素数的判断|笨小猴|最大最小公倍数|素数筛|埃氏筛|欧氏线性筛|质数|分解质因子(C++)

寻找整数 【题目描述】 有一个不超过 1 0 1 7 10^17 1017的正整数n&#xff0c;知道这个数除以2至49后的余数如下表所示&#xff0c;求这个正整数最小是多少 解法一&#xff1a;模拟 暴力法&#xff1a;一个个检验 1 … 1 0 17 1\dots 10^{17} 1…1017的每个数 由于这个数n…

证券公司数据摆渡,如何兼顾安全性、可控性和效率?

根据国家和金融行业的法律法规要求&#xff0c;我国的证券公司不少采用网络隔离的方式将内部网络隔离为操作内网和操作外网&#xff0c;但网络隔离后&#xff0c;证券公司的操作内外网间仍需要进行数据交换&#xff0c;如提数、与第三方合作机构的数据外发和收取等业务需求&…

【AI绘画/作图】风景背景类关键词模板参考

因为ds官网被墙,所以翻了IDE的源码整理了下stablestudio里的官方模板&#xff0c;顺便每个模板生成了一份…不知道怎么写关键词的可以参考 Stunning sunset over a futuristic city, with towering skyscrapers and flying vehicles, golden hour lighting and dramatic cloud…

MySQL数据库的高级SQL语句与高级操作(1)

目录 以下例子都是基于该数据表 1、查询不重复记录&#xff08;distinct&#xff09; 2、and 、or&#xff1a;根据多条件查询 3、IN ----显示已知的值的数据记录 4、BETWEEN ----显示两个值范围内的数据记录 5、 like通配符&#xff1a;模糊查询 6、order by&#xff1a…

vlan、三层交换机、网关、DNS、子网掩码、MAC地址详解

vlan、三层交换机、网关、DNS、子网掩码、MAC地址详解 一、 什么是VLAN&#xff1f; VLAN中文是“虚拟局域网”。 ​ LAN可以是由少数几台家用计算机构成的网络&#xff0c;也可以是数以百计的计算机构成的企业网络。 ​ VLAN所指的LAN特指使用路由器分割的网络——也就是广…

【数字图像处理】改变图像灰度级别

改变图像灰度级别 首先&#xff0c;对原始图像 O O O进行灰度级量化: q int ⁡ ( O 2 i ) 2 i , q\operatorname{int}\left(\frac{O}{2^{i}}\right) \times 2^{i}, qint(2iO​)2i, 灰度级别256&#xff0c;128&#xff0c;64&#xff0c;32&#xff0c;16&#xff0c;8&…

FastAPI+React全栈开发08 安装MongoDB

Chapter02 Setting Up the Document Store with MongoDB 08 Installing MongoDB and friends FastAPIReact全栈开发08 安装MongoDB The MongoDB ecosystem is composed of different pieces of software, and I remember that when I was starting to play with it, there w…

QT_day5:使用定时器实现闹钟

1、 程序代码&#xff1a; widget.h&#xff1a; #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTime>//时间类 #include <QTimer>//时间事件类 #include <QTextToSpeech>//文本转语音类 QT_BEGIN_NAMESPACE namespace Ui { cla…

深度学习十大算法之图神经网络(GNN)

一、图神经网络的基础 图的基本概念 图是数学中的一个基本概念&#xff0c;用于表示事物间复杂的关系。在图论中&#xff0c;图通常被定义为一组节点&#xff08;或称为顶点&#xff09;以及连接这些节点的边。每个边可以有方向&#xff0c;称为有向边&#xff0c;或者没有方向…

C#学习笔记4:PC串口发送数据

今日继续我的C#学习之路&#xff0c;今日学习制作PC串口发送数据的窗口程序 串口是单片机上位机开发的重点&#xff0c;本文围绕做一个通过PC端串口发送数据的程序进行实践学习&#xff0c; 文章提供源码与解释、整体工程文件 目录 1、控件的选择与摆放&#xff1a; 2、程序设…