Git 详解

目录

一. 前言

1.1 特点

1.2. 操作流程

二. Git bash

三. 操作指令

3.1. 基本命令

3.1.1. git add

3.1.2. git checkout

3.1.3. git commit

3.1.4. git status

3.1.5. git log

3.1.6. git reset

3.1.7. git忽略文件

3.2. 分支命令

3.2.1. 创建分支

3.2.2. 查看分支

3.2.3. 切换分支

3.2.4. 创建并切换分支

3.2.5. 删除分支

3.2.6. 合并分支

3.2.7. 合并冲突

3.3. 远程仓库命令

3.3.1. git push

3.3.2. git pull

3.3.3. git clone

3.3.4. git remote

四. 命令总结

4.1. 仓库

4.2. 配置

4.3. 增加/删除文件

4.4. 代码提交

4.5. 分支

4.6. 标签

4.7. 查看信息

4.8. 远程同步

4.9. 撤销

4.10. 其他

五. 操作实例

5.1. 代码提交和同步代码

5.2. 代码撤销和撤销同步

5.3. 关联远程仓库

5.4. 切换分支

5.5. 撤销操作

5.6. 版本回退与前进


一. 前言

    Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。它是一款免费、开源的分布式版本控制系统 ,用于敏捷高效地处理任何或小或大的项目。

1.1 特点

1. 需要一台服务器作为代码仓库。
2. 每个用户电脑都是一个服务器(代码仓库),并且和代码仓库是镜像的,用户修改和获取代码都是提交到自己的服务器当中。
3. 不需要网络就可以进行工作。
4. 当连接网络时,用户可以选择将自己的服务器与代码仓库进行同步。

1.2. 操作流程

代码提交和同步代码

代码撤销和撤销同步

二. Git bash

git用法方式主要有两种:
git gui:即图形化界面的方式
git bash:命令行的方式

bash是linux系统的命令,因此学习git前,我们先学习一下bash
1. 在任意文件夹中,都可以使用右键,通过git bash here打开命令行窗口,此时的路径就是当前目录。
2. 窗口上右键,通过options-->Text-->select可以调整字体的大小。

# cd 改变目录  (change directory)
cd images   #进入images文件夹
cd ..      #进入上一层目录
cd ~       #进入用户根目录# tab  自动补全,当我们输命令或者目录很长时,可以使用tab键进行自动补全。
# 按两次tab,会把所有符合要求的内容都列出来。# pwd 打印当前目录的路径 (print work directory)
pwd# ls 展示当前目录列表(list)
ls         # 展示当前目录
ls -a      # 展示全部内容,包括隐藏文件
ls -l      # 以列表的形式展示内容
ls -al     # 以列表的形式展示所有的内容,包括隐藏文件。
ls --help  # 查看ls所有的参数。
ls -l images   # 展示images目录下的文件,如果没有写目录,默认展示当前目录。# clear reset清屏
clear  # 清除屏幕内容,滚动条,保留了历史
reset  # 重置,历史记录没了。# mkdir  创建一个文件夹 (make directory)
mkdir css          # 创建一个css的文件夹
mkdir css img js   # 创建了三个文件夹# rmdir  删除一个空的文件夹(没啥用)
rmdir img   # 删除文件夹# touch  创建文件
touch index.html   #创建了一个index.html文件
touch css/index.css # 在css目录下创建idnex.css文件# rm 删除一个文件获取文件夹
rm index.html # 删除index.html文件
rm js         # 删除空的js文件夹
rm -r css     # 递归删除一个文件夹# mv 移动文件(move)
mv index.html js            # 将html文件移动到js文件夹中
mv index.html index2.html   # 将index.html重命名为index2.html# cp 复制文件(cp)
cp index.html index2.html   # 复制index.html文件,命名为index2.html
cp -r css css02             # 如果复制的是文件夹,需要使用-r参数。# cat 查看文件全部内容
cat index.html
# less 查看文件部分内容
less index.html
# q退出查看

三. 操作指令

3.1. 基本命令

# 初始化git仓库,会在当前目录生成一个隐藏文件夹 .git ,不要去修改这个文件夹下的任意东西。
git init# 查看git的状态,如果此时新建一个文件,那么这个文件是没有被追踪的,说白了git还没有管理这个新建的文件
git status # 让git管理这个新建的文件
git add index.html
git add --all # 当前项目下的所有更改
git add .  # 当前目录下的所有更改
git add xx/xx.py xx/xx2.py  # 添加某几个文件# 让文件由暂存区提交到仓库区。此时文件才真正的被git管理了。
# 如果提交日志乱码,右键-->options-->Text-->将编码改成utf-8
git commit -m '第一次提交'# 查看提交日志
git log# 配置邮箱和用户名,如果第一次使用git,会要求设置用户名和邮箱
# git config  user.name 你的目标用户名
# git config  user.email 你的目标邮箱名
# 这种配置方式只有在当前仓库生效
git config user.name shuaige
git config user.email shuaige@126.com# 可以使用--global参数,配置全局的用户名和邮箱,这样别的git仓库就不需要重新配置了。
# 如果同时配置了局部的和全局的,那么局部的用户名和邮箱将会生效。
git config  --global user.name shuaige
git config  --global user.email shuaige@126.com# 查看配置信息
git config --list

3.1.1. git add

作用:将文件由 工作区 添加到 暂存区,暂存文件
命令:git git add 文件名

例如:git add index.html
git add --all 或者 git add -A 或者git add .(简写)添加所有文件。
git add a.txt b.txt 同时添加两个文件。
git add *.js 添加当前目录下的所有js文件。

3.1.2. git checkout

作用:暂存区的内容恢复到工作区。
git checkout 1.txt 将暂存区中1.txt文件恢复到工作区。

3.1.3. git commit

作用:将文件由 暂存区 添加到 仓库区
git commit -m "提交说明"

3.1.4. git status

作用:查看文件的状态
命令:git status
命令:git stauts -s 简化日志输出格式

3.1.5. git log

作用:查看提交日志
git log 只能查看当前head以及以前的日志
git log --oneline 简洁的日志信息
git reflog 查看所有的提交变更日志

3.1.6. git reset

作用:版本回退,将代码恢复到已经提交的某一个版本中。
git reset --hard 版本号 将代码回退到某个指定的版本(版本号只要有前几位即可)。
git reset --hard head~1

将版本回退到上一次提交
~1:上一次提交
~2:上上次提交
~0:当前提交

3.1.7. git忽略文件

在仓库中,有些文件是不想被git管理的,比如数据的配置密码、写代码的一些思路等。git可以通过配置从而达到忽视掉一些文件,这样这些文件就可以不用提交了。

在仓库的根目录创建一个.gitignore的文件,文件名是固定的。
将不需要被git管理的文件路径添加到.gitignore中

# 忽视idea.txt文件
idea.txt# 忽视.gitignore文件
.gitignore# 忽视css下的index.js文件
css/index.js# 忽视css下的所有的js文件
css/*.js# 忽视css下的所有文件
css/*.*
# 忽视css文件夹
css

3.2. 分支命令

3.2.1. 创建分支

git branch 分支名称:创建分支,分支中的代码,在创建时与当前分支的内容完全相同。
git在第一次提交时,就有了一个叫master的主分支。

3.2.2. 查看分支

git branch:可以查看所有的分支,在当前分支的前面会有一个*。

3.2.3. 切换分支

git checkout 分支名称:切换分支
在当前分支的任何操作,都不会影响到其他的分支,除非进行了分支合并。切换分支之前,必须保证代码已经提交了。

3.2.4. 创建并切换分支

git checkout -b 分支名称:创建并切换分支

3.2.5. 删除分支

git branch -d 分支名称:可以删除分支
注意:不能在当前分支删除当前分支,需要切换到其他分支才能删除。
注意:master分支是可以删除的,但是不推荐那么做。

3.2.6. 合并分支

git merge 分支名称:将其他分支的内容合并到当前分支。
在master分支中执行 git merge dev 将dev分支中的代码合并到master分支。

3.2.7. 合并冲突

对于同一个文件,如果有多个分支需要合并时,容易出现冲突。
合并分支时,如果出现冲突,只能手动处理,再次提交,一般的做法,把自己的代码放到冲突代码的后面即可。

3.3. 远程仓库命令

3.3.1. git push

作用:将本地代码提交到远程仓库
git push 仓库地址 master:将代码提交到远程仓库,注意master分支必须写,不能省略。
例子:git push git@github.com:mrluo735/test.git master 如果第一次使用,需要填写github的用户名和密码。

3.3.2. git pull

作用:将远程的代码下载到本地
git pull 代码地址:将远程的代码中master分支下载到本地。
通常在push前,需要先pull一次。

3.3.3. git clone

作用:克隆远程仓库的代码到本地
git clone 仓库地址 自定义本地仓库名:将整个仓库克隆到本地。

3.3.4. git remote

每次push和pull操作都需要带上远程仓库的地址,非常的麻烦,我们可以给仓库地址设置一个别名
git remote add 仓库别名 仓库地址
使用仓库别名替代仓库地址。仓库别名相当于一个变量,仓库地址就是对应的值。

git remote add alias git@github.com:mrluo735/test.git 设置了一个alias的仓库别名,以后push和pull都可以不用仓库地址,而用alias。
git remote remove alias 删除alias这个仓库别名。
git remote 查看所有的仓库别名。
如果使用了git clone命令从远程仓库获取下来的,那么这个本地仓库会自动添加一个 origin的远程地址,指向的就是克隆的远程地址。

四. 命令总结

4.1. 仓库

# 在当前目录新建一个Git代码库
$ git init# 新建一个目录,将其初始化为Git代码库
$ git init [project-name]# 下载一个项目和它的整个代码历史
$ git clone [url]

4.2. 配置

# 显示当前的Git配置
$ git config --list# 编辑Git配置文件
$ git config -e [--global]# 设置提交代码时的用户信息
$ git config [--global] user.name "[name]"
$ git config [--global] user.email "[email address]"

4.3. 增加/删除文件

# 添加指定文件到暂存区
$ git add [file1] [file2] ...# 添加指定目录到暂存区,包括子目录
$ git add [dir]# 添加当前目录的所有文件到暂存区
$ git add .# 添加每个变化前,都会要求确认
# 对于同一个文件的多处变化,可以实现分次提交
$ git add -p# 删除工作区文件,并且将这次删除放入暂存区
$ git rm [file1] [file2] ...# 停止追踪指定文件,但该文件会保留在工作区
$ git rm --cached [file]# 改名文件,并且将这个改名放入暂存区
$ git mv [file-original] [file-renamed]

4.4. 代码提交

# 提交暂存区到仓库区
$ git commit -m [message]# 提交暂存区的指定文件到仓库区
$ git commit [file1] [file2] ... -m [message]# 提交工作区自上次commit之后的变化,直接到仓库区
$ git commit -a# 提交时显示所有diff信息
$ git commit -v# 使用一次新的commit,替代上一次提交
# 如果代码没有任何新变化,则用来改写上一次commit的提交信息
$ git commit --amend -m [message]# 重做上一次commit,并包括指定文件的新变化
$ git commit --amend [file1] [file2] ...

4.5. 分支

# 列出所有本地分支
$ git branch# 列出所有远程分支
$ git branch -r# 列出所有本地分支和远程分支
$ git branch -a# 新建一个分支,但依然停留在当前分支
$ git branch [branch-name]# 新建一个分支,并切换到该分支
$ git checkout -b [branch]# 新建一个分支,指向指定commit
$ git branch [branch] [commit]# 新建一个分支,与指定的远程分支建立追踪关系
$ git branch --track [branch] [remote-branch]# 切换到指定分支,并更新工作区
$ git checkout [branch-name]# 切换到上一个分支
$ git checkout -# 建立追踪关系,在现有分支与指定的远程分支之间
$ git branch --set-upstream [branch] [remote-branch]# 合并指定分支到当前分支
$ git merge [branch]# 选择一个commit,合并进当前分支
$ git cherry-pick [commit]# 删除分支
$ git branch -d [branch-name]# 删除远程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]

4.6. 标签

# 列出所有tag
$ git tag# 新建一个tag在当前commit
$ git tag [tag]# 新建一个tag在指定commit
$ git tag [tag] [commit]# 删除本地tag
$ git tag -d [tag]# 删除远程tag
$ git push origin :refs/tags/[tagName]# 查看tag信息
$ git show [tag]# 提交指定tag
$ git push [remote] [tag]# 提交所有tag
$ git push [remote] --tags# 新建一个分支,指向某个tag
$ git checkout -b [branch] [tag]

4.7. 查看信息

# 显示有变更的文件
$ git status# 显示当前分支的版本历史
$ git log# 显示commit历史,以及每次commit发生变更的文件
$ git log --stat# 搜索提交历史,根据关键词
$ git log -S [keyword]# 显示某个commit之后的所有变动,每个commit占据一行
$ git log [tag] HEAD --pretty=format:%s# 显示某个commit之后的所有变动,其"提交说明"必须符合搜索条件
$ git log [tag] HEAD --grep feature# 显示某个文件的版本历史,包括文件改名
$ git log --follow [file]
$ git whatchanged [file]# 显示指定文件相关的每一次diff
$ git log -p [file]# 显示过去5次提交
$ git log -5 --pretty --oneline# 显示所有提交过的用户,按提交次数排序
$ git shortlog -sn# 显示指定文件是什么人在什么时间修改过
$ git blame [file]# 显示暂存区和工作区的差异
$ git diff# 显示暂存区和上一个commit的差异
$ git diff --cached [file]# 显示工作区与当前分支最新commit之间的差异
$ git diff HEAD# 显示两次提交之间的差异
$ git diff [first-branch]...[second-branch]# 显示今天你写了多少行代码
$ git diff --shortstat "@{0 day ago}"# 显示某次提交的元数据和内容变化
$ git show [commit]# 显示某次提交发生变化的文件
$ git show --name-only [commit]# 显示某次提交时,某个文件的内容
$ git show [commit]:[filename]# 显示当前分支的最近几次提交
$ git reflog

4.8. 远程同步

# 下载远程仓库的所有变动
$ git fetch [remote]# 显示所有远程仓库
$ git remote -v# 显示某个远程仓库的信息
$ git remote show [remote]# 增加一个新的远程仓库,并命名
$ git remote add [shortname] [url]# 取回远程仓库的变化,并与本地分支合并
$ git pull [remote] [branch]# 上传本地指定分支到远程仓库
$ git push [remote] [branch]# 强行推送当前分支到远程仓库,即使有冲突
$ git push [remote] --force# 推送所有分支到远程仓库
$ git push [remote] --all

4.9. 撤销

# 恢复暂存区的指定文件到工作区
$ git checkout [file]# 恢复某个commit的指定文件到暂存区和工作区
$ git checkout [commit] [file]# 恢复暂存区的所有文件到工作区
$ git checkout .# 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
$ git reset [file]# 重置暂存区与工作区,与上一次commit保持一致
$ git reset --hard# 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变
$ git reset [commit]# 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致
$ git reset --hard [commit]# 重置当前HEAD为指定commit,但保持暂存区和工作区不变
$ git reset --keep [commit]# 新建一个commit,用来撤销指定commit
# 后者的所有变化都将被前者抵消,并且应用到当前分支
$ git revert [commit]# 暂时将未提交的变化移除,稍后再移入
$ git stash
$ git stash pop

4.10. 其他

# 生成一个可供发布的压缩包
$ git archive

五. 操作实例

5.1. 代码提交和同步代码

前置状态: 工作区与仓库保持一致
第一步: 文件增删改,变为已修改状态
第二步: git add ,变为已暂存状态

$ git status
$ git add --all # 当前项目下的所有更改
$ git add .  # 当前目录下的所有更改
$ git add xx/xx.py xx/xx2.py  # 添加某几个文件

第三步: git commit,变为已提交状态

$ git commit -m"<这里写commit的描述>"

第四步: git push,变为已推送状态

$ git push -u origin master # 第一次需要关联上
$ git push # 之后再推送就不用指明应该推送的远程分支了
$ git branch # 可以查看本地仓库的分支
$ git branch -a # 可以查看本地仓库和本地远程仓库(远程仓库的本地镜像)的所有分支

在某个分支下,最常用的操作如下:

$ git status
$ git add -a
$ git status
$ git commit -m 'xxx'
$ git pull --rebase
$ git push origin xxbranch

5.2. 代码撤销和撤销同步

已修改,但未暂存

$ git diff # 列出所有的修改
$ git diff xx/xx.py xx/xx2.py # 列出某(几)个文件的修改$ git checkout # 撤销项目下所有的修改
$ git checkout . # 撤销当前文件夹下所有的修改
$ git checkout xx/xx.py xx/xx2.py # 撤销某几个文件的修改
$ git clean -f # untracked状态,撤销新增的文件
$ git clean -df # untracked状态,撤销新增的文件和文件夹# Untracked files:
#  (use "git add <file>..." to include in what will be committed)
#
#	xxx.py

已暂存,未提交:这个时候已经执行过git add,但未执行git commit,但是用git diff已经看不到任何修改。 因为git diff检查的是工作区与暂存区之间的差异。

$ git diff --cached # 这个命令显示暂存区和本地仓库的差异$ git reset # 暂存区的修改恢复到工作区
$ git reset --soft # 与git reset等价,回到已修改状态,修改的内容仍然在工作区中
$ git reset --hard # 回到未修改状态,清空暂存区和工作区

git reset --hard 操作等价于 git reset 和 git checkout 2步操作。

已提交,未推送:执行完commit之后,会在仓库中生成一个版本号(hash值),标志这次提交。之后任何时候,都可以借助这个hash值回退到这次提交。

$ git diff <branch-name1> <branch-name2> # 比较2个分支之间的差异
$ git diff master origin/master # 查看本地仓库与本地远程仓库的差异$ git reset --hard origin/master # 回退与本地远程仓库一致
$ git reset --hard HEAD^ # 回退到本地仓库上一个版本
$ git reset --hard <hash code> # 回退到任意版本
$ git reset --soft/git reset # 回退且回到已修改状态,修改仍保留在工作区中。

已推送到远程

$ git push -f orgin master # 强制覆盖远程分支
$ git push -f # 如果之前已经用 -u 关联过,则可省略分支名

    慎用,一般情况下,本地分支比远程要新,所以可以直接推送到远程,但有时推送到远程后发现有问题,进行了版本回退,旧版本或者分叉版本推送到远程,需要添加 -f参数,表示强制覆盖。

5.3. 关联远程仓库

# 如果还没有Git仓库,你需要
$ git init# 如果你想关联远程仓库
$ git remote add <name> <git-repo-url>
# 例如 git remote add origin https://github.com/xxxxxx # 是远程仓库的名称,通常为 origin# 如果你想关联多个远程仓库
$ git remote add <name> <another-git-repo-url>
# 例如 git remote add coding https://coding.net/xxxxxx# 忘了关联了哪些仓库或者地址
$ git remote -v
# origin https://github.com/gzdaijie/koa-react-server-render-blog.git (fetch)
# origin https://github.com/gzdaijie/koa-react-server-render-blog.git (push)# 如果远程有仓库,你需要clone到本地
$ git clone <git-repo-url>
# 关联的远程仓库将被命名为origin,这是默认的# 如果你想把别人仓库的地址改为自己的
$ git remote set-url origin <your-git-url>

5.4. 切换分支

新建仓库后,默认生成了master分支。

# 如果你想新建分支并切换
$ git checkout -b <new-branch-name>
# 例如 git checkout -b dev
# 如果仅新建,不切换,则去掉参数 -b# 看看当前有哪些分支
$ git branch
# * dev
#   master # 标*号的代表当前所在的分支# 看看当前本地&远程有哪些分支
$ git branch -a
# * dev
#   master
#   remotes/origin/master# 切换到现有的分支
$ git checkout master# 你想把dev分支合并到master分支
$ git merge <branch-name>
# 例如 git merge dev# 你想把本地master分支推送到远程去
$ git push origin master
# 你可以使用git push -u origin master将本地分支与远程分支关联,之后仅需要使用git push即可。# 远程分支被别人更新了,你需要更新代码
$ git pull origin <branch-name>
# 之前如果push时使用过-u,那么就可以省略为git pull# 本地有修改,能不能先git pull
$ git stash # 工作区修改暂存
$ git pull  # 更新分支
$ git stash pop # 暂存修改恢复到工作区

5.5. 撤销操作

# 恢复暂存区文件到工作区
$ git checkout <file-name># 恢复暂存区的所有文件到工作区
$ git checkout .# 重置暂存区的某文件,与上一次commit保持一致,但工作区不变
$ git reset <file-name># 重置暂存区与工作区,与上一次commit保持一致
$ git reset --hard <file-name>
# 如果是回退版本(commit),那么file,变成commit的hash码就好了。# 去掉某个commit
$ git revert <commit-hash>
# 实质是新建了一个与原来完全相反的commit,抵消了原来commit的效果# reset回退错误恢复
$ git reflog #查看最近操作记录
$ git reset --hard HEAD{5} #恢复到前五笔操作
$ git pull origin backend-log #再次拉取代码

5.6. 版本回退与前进

# 查看历史版本
$ git log# 你可能觉得这样的log不好看,试试这个
$ git log --graph --decorate --abbrev-commit --all# 检出到任意版本
$ git checkout a5d88ea
# hash码很长,通常6-7位就够了# 远程仓库的版本很新,但是你还是想用老版本覆盖
$ git push origin master --force
# 或者 git push -f origin master# 觉得commit太多了? 多个commit合并为1个
$ git rebase -i HEAD~4
# 这个命令,将最近4个commit合并为1个,HEAD代表当前版本。将进入VIM界面,你可以修改提交信息。推送到远程分支的commit,不建议这样做,多人合作时,通常不建议修改历史。# 想回退到某一个版本
$ git reset --hard <hash>
# 例如 git reset --hard a3hd73r
# --hard代表丢弃工作区的修改,让工作区与版本代码一模一样,与之对应,--soft参数代表保留工作区的修改。# 想回退到上一个版本,有没有简便方法?
$ git reset --hard HEAD^# 回退到上上个版本呢?
$ git reset --hard HEAD^^
# HEAD^^可以换作具体版本hash值。# 回退错了,能不能前进呀
$ git reflog
# 这个命令保留了最近执行的操作及所处的版本,每条命令前的hash值,则是对应版本的hash值。使用上述的git checkout 或者 git reset命令 则可以检出或回退到对应版本。# 刚才commit信息写错了,可以修改吗
$ git commit --amend# 看看当前状态吧
$ git status

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

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

相关文章

JDBC-day05(DAO及相关实现类)

七&#xff1a;DAO及相关实现类 1. DAO介绍 DAO&#xff1a;Data Access Object访问数据信息的类和接口&#xff0c;包括了对数据的CRUD&#xff08;Create、Retrival、Update、Delete&#xff09;&#xff0c;而不包含任何业务相关的信息。有时也称作&#xff1a;BaseDAO作用…

websocket+node+vite(vue)实现一个简单的聊天

1.前端逻辑 本项目基于之前搭建的vite环境&#xff1a;https://blog.csdn.net/beekim/article/details/128083106?spm1001.2014.3001.5501 新增一个登录页和聊天室页面 <template><div>登录页</div><div>用户名:<input type"text" pl…

React create-react-app 里配置代理(解决跨域)

配置代理&#xff1a; creact-react-app v5 当然不是v5 下面的方法也适用。 方式一&#xff1a;package.json里配置 其实 cra里给了个简单的配置代理 就是在package.json里加上proxy就行了。 修改时需要 npm start重新运行一下&#xff0c;要不然可能不生效。 proxy只能以 h…

Leetcode学习记录(1)

1.unordered_map C关联容器&#xff0c;内部hash表结构&#xff08;检索&#xff09; 通过key来检索value&#xff0c;不是通过绝对地址&#xff0c;内部无序&#xff0c;Map对应唯一值&#xff0c;动态管理 unordered_map<const Key, T> map; 如上述代码表述&#x…

主机jvisualvm连接到tomcat服务器查看jvm状态

​使用JMX方式连接到tomcat&#xff0c;连接后能够查看前边的部分内容&#xff0c;但是不能查看Visual GC&#xff0c;显示不受此JVM支持&#xff0c; 对了&#xff0c;要显示Visual GC&#xff0c;首先要安装visualvm工具&#xff0c;具体安装方式就是根据自己的jdk版本下载…

第二证券:10家央企集体行动!9月至今逾百家公司回购增持

10月16日&#xff0c;10家央企连续公告&#xff0c;掀起了新一轮回购增持潮。其间&#xff0c;5家上市公司发布新增增持方案&#xff0c;约5亿&#xff5e;16.3亿元&#xff1b;2家上市公司发布增持打开&#xff0c;估计约23.43亿元&#xff1b;1家上市公司新增回购方案&#x…

服务器数据恢复-RAID5常见故障的数据恢复方案

raid5阵列常见故障&#xff1a; 1、服务器硬件故障或者RAID阵列卡故障&#xff1b; 2、服务器意外断电导致的磁盘阵列故障&#xff1b; 3、服务器RAID阵列阵列磁盘出现物理故障&#xff0c;如&#xff1a;电路板坏、磁头损坏、盘面划伤、坏扇区、固件坏等&#xff1b; 4、误操作…

25项,2023年国家优青(港澳)入选者完整名单公布!

国家优秀青年科学基金项目&#xff08;港澳&#xff09;旨在支持香港特别行政区、澳门特别行政区&#xff08;以下简称港澳特区&#xff09;科技创新发展&#xff0c;鼓励爱国爱港爱澳高素质科技人才参与中央财政科技计划&#xff0c;为建设科技强国贡献力量&#xff0c;2023 年…

MyBatisPlus(十九)自动填充

说明 自动填充指的是&#xff0c;当数据被 插入 或者 更新 的时候&#xff0c;会为指定字段进行一些默认的数据填充。 比如&#xff0c;插入时&#xff0c;会自动填充数据的创建时间和更新时间&#xff1b;更新时&#xff0c;会自动填充数据的更新时间。 实现方式 配置处理器…

Centos中如何删除带有特殊符号的乱码文件_rz命令产生的乱码文件如何删除_使用文件号删除乱码文件---Linux运维工作笔记058

在使用rz命令进行文件上传的时候,偶尔会产生一堆的乱码文件,比如: 可以看到有一堆的乱码文件. 普通的乱码文件,直接rm -rf 文件名就可以删除了,但是有一些不行,包含特殊符号的,比如: 这个文件报错了,可以看到用rm -rf 根本删除不掉. 这个文件后面包含了一个.对吧 那该怎么解决…

python基于django的留学生服务管理平台

留学服务管理平台的用户是系统最根本使用者&#xff0c;按需要分析系统包括三类用户&#xff1a;学生、教师、管理员。这三类用户对系统的需求简要如下。技术栈 后端&#xff1a;pythondjango 前端&#xff1a;vueCSSJavaScriptjQueryelementui 开发语言&#xff1a;Python 框架…

69. x 的平方根

69. x 的平方根 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;参考代码&#xff1a;1. log换底2. 二分查找3. 牛顿迭代法 原题链接&#xff1a; 69. x 的平方根 https://leetcode.cn/problems/sqrtx/description/ 完成情况&#xff1a; 解题思路&#xff…

2023年中国乳胶制品产量、需求量及市场规模分析[图]

乳胶泛指聚合物微粒分散于水中形成的胶体乳液&#xff0c;又称胶乳。习惯上将橡胶微粒的水分散体称为胶乳&#xff0c;而将树脂微粒的水分散体称为乳液。以乳胶为原料制成的制品称乳胶制品&#xff0c;常见的如海绵、手套、玩具、胶管等。 我国乳胶制品细分主要分为避孕套、乳胶…

idea不识别yaml文件导致,配置文件点击跳转不了类

文章目录 场景确认的idea安装了ymal插件,确认你的配置文件是yml格式的还是ymal格式的然后在项目配置中看看是否有对应的后缀.最后看看在项目模块里面有没有spring模块跟对应的配置文件,如果没有就要添加这样点击配置文件就能跳转到对应的实体类了 场景 在使用idea时&#xff0…

网络社区挖掘-图论部分的基本知识笔记

1 网络社区挖掘定义 网络社区挖掘是指利用数据挖掘技术和机器学习算法&#xff0c;分析社交网络、在线社区或互联网上的各种交互数据&#xff0c;以揭示其中隐藏的模式、关系和信息。这些社区可以是社交媒体平台、在线论坛、博客、微博等&#xff0c;人们在这些平台上进行交流…

智慧公厕:打破传统,解决城市痛点@中期科技

近年来&#xff0c;随着城市化进程的加速推进&#xff0c;智慧公厕成为人民生活质量提升的重要组成部分。作为一个富有创新和科技感的解决方案&#xff0c;智慧公厕不仅满足了人们对公共环境的要求&#xff0c;还提供了一系列便利的服务&#xff0c;让人们的生活更加舒适、便捷…

【vr】【unity】白马VR课堂系列-VR开发核心基础05-主体设置-手柄对象的引入和设置

【视频教学】 【白马VR课堂系列-VR开发核心基础05-主体设置-手柄对象的引入和设置】 https://www.bilibili.com/video/BV19D4y1N73i/?share_source=copy_web&vd_source=7f5c96f5a58b7542fc6b467a9824b04e 【内容】 上一节引入了XR Origin并进行了初步设置,运行测试时V…

短视频剪辑矩阵系统开发解决的市场工具难点?

短视频剪辑矩阵系统开发源码----源头搭建 一、源码技术构建源码部署搭建交付之---- 1.需要协助系统完成部署、接口全部正常接入、系统正常运行多久&#xff1f;7个工作日 2.需要准备好服务器以及备案域名 3.短视频SEO模块一年项目带宽&#xff0c;带宽最低要求10M&#xff0c;…

实验笔记之——可见光通信调制驱动芯片模组

本博文记录本团队研发出的VLC驱动调制芯片模组&#xff08;如下图所示&#xff09;的驱动调制代码烧录过程。 实物模组正面 实物模组反面 首先需要安装keil5&#xff0c;其安装与编译过程请参考博客&#xff1a;实验笔记之——单片机烧录的实验过程_烧录程序的基本步骤-CSDN博客…

Python 函数用法和底层分析

目录 1 函数简介1.1 函数的基本概念1.2 Python函数的分类 2 函数的定义和调用2.1 核心要点2.2 形参和实参2.3 文档字符串(函数的注释)2.4 返回值 3 函数也是对象&#xff0c;内存底层分析4 变量的作用域(全局变量和局部变量)5 局部变量和全局变量效率测试6 参数的传递6.1 传递可…