Git(六):基本命令(3):储藏、标签、拉取、子模块
目录
17、stash 储藏
17.2 描述
17.3 基本用法
18、tag 标签
18.1 描述
18.2 基本用法
19、fetch 获取
19.1 描述
19.2 基本用法
20、pull 整合
20.1 描述
20.2 基本用法
20.3 pull 与 fetch 的区别
21、push 更新推送
21.1 描述
21.2 基本用法
22、remote 管理
22.1 基本用法
23、submodule 管理子模块
23.1 使用场景
23.2 描述
23.3 基本用法
24、show 显示
24.1 描述
24.2 基本用法
25、shortlog 汇总
25.1 基本用法
26、describe 显示最近标签
26.1 描述
26.2 基本用法
27、rebase 合并修改
27.1 示例
17、stash 储藏
用于将更改储藏在脏工作目录中。
git stash list [<options>]
git stash show [<stash>]
git stash drop [-q|--quiet] [<stash>]
git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]
git stash branch <branchname> [<stash>]
git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet][-u|--include-untracked] [-a|--all] [<message>]
git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet][-u|--include-untracked] [-a|--all] [-m|--message <message>]][--] [<pathspec>…]]
git stash clear
git stash create [<message>]
git stash store [-m|--message <message>] [-q|--quiet] <commit>
17.2 描述
-
当要记录工作目录和索引的当前状态,但想要返回干净的工作目录时,使用
git stash
保存本地修改,并恢复工作目录以匹配HEAD
提交; -
list
列出所储藏的修改,show
进行检查,apply
恢复,默认情况下,储藏列表”分支名称上的 WIP “,但可以在创建一个消息时在命令行上给出具体描述性的消息; -
创建的最新储藏存储在
refs/stash
中,这个引用中的反垃圾中会发现较旧的垃圾邮件,并且可以使用通常的 reflog 语法命名(stash@{0}
是最近创建的垃圾邮件),也可以通过指定存储空间索引来引用锁存。
17.3 基本用法
- 拉取到一颗肮脏树
当发现本地的更改与上游的更改冲突时,git pull
拒绝覆盖您的更改,此时可以隐藏更改,执行 git pull
,再解压缩:
git pull...
file foobar not up to date, cannot merge.
$ git stash
$ git pull
$ git stash pop
- 工作流中断
当要处理紧急的事务从而不得不中断自己的工作流程时,应该提交临时分支来存储更改并返回原始分支进行紧急修复:
$ git checkout -b my_wip // 临时分支
$ git commit -a -m "WIP" // 临时提交
$ git checkout master // 返回主分支
$ edit emergency fix # 编辑内容 // 紧急修复
$ git commit -a -m "Fix in a hurry" // 提交修复
$ git checkout my_wip // 返回临时分支
$ git reset --soft HEAD^ // 移位值最新的提交的头位置
可使用 git stash
来简化:
$ git stash // 临时储藏
$ edit // 处理
$ git commit -a -m 'fix' // 紧急处理
$ git stash pop // 获取最近一次储藏的内容,之后删除栈中对应的 stash
- 储藏工作
当修改文件后,想要切换分支但不想提交当前进行的工作,此时可以往栈中推送新的储藏:
$ git stash
Saved working directory and index state \"WIP on master: 049d078 added the index file"
HEAD is now at 049d078 added the index file
(To restore them type "git stash apply")# 查看现有的储藏
$ git stash list
- 应用存储
若想应用之前的变更,可以通过 apply
进行指定应用,不指定将会使用最近的存储:
$ git stash apply
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
#
# modified: index.html
# modified: lib/simplegit.rb
--重新暂存被暂存的文件
$ git stash apply --index
--移除储藏的文件
$ git stash drop stash@{0}
- 取消储藏
通过取消该储藏的补丁使得取消之前所储藏的修改:
$ git stash show -p stash@{0} | git apply -R
# 不指定储藏的索引将会选择最近的储藏
-- 设置别名
$ git config --global alias.stash-unapply '!git stash show -p | git apply -R'
$ git stash apply
$ #... work work work
$ git stash-unapply
- 储藏中创建分支
当储藏了一些工作之后继续工作,重新储藏将会归并冲突,若想重新检验储藏变更,创建新分支,成功将会丢弃储藏:
$ git stash branch testchanges
18、tag 标签
- 用于创建,列出,删除或验证使用 GPG 签名的标签对象。
git tag [-a | -s | -u <keyid>] [-f] [-m <msg> | -F <file>]<tagname> [<commit> | <object>]
git tag -d <tagname>…
git tag [-n[<num>]] -l [--contains <commit>] [--no-contains <commit>][--points-at <object>] [--column[=<options>] | --no-column][--create-reflog] [--sort=<key>] [--format=<format>][--[no-]merged [<commit>]] [<pattern>…]
git tag -v [--format=<format>] <tagname>…
18.1 描述
-
创建标签可以:用于在开发阶段,某个阶段的完成,创建一个版本,在开发中都会使用到,指向软件开发中的一个关键时期;
-
不能创建已经存在的标签,除非指定
-f
; -
创建标签对象以及一个标签消息:
-a
、-s
或-u <keyid>
,使用-m <msg>
或-F <file>
,否则将启动编辑器自主输入标签消息; -
标签类型:
-
轻量级标签,像不会变化的分支,实际上就是个指向特定提交对象的引用;
-
含附注标签,实际上是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,电子邮件地址和日期,以及标签说明,标签本身也允许使用 GNU Privacy Guard (GPG) 来签署或验证。
-
18.2 基本用法
- 列出已有的标签,也可进行筛选:
$ git tag
$ git tag -l 'v1.4.2.*'
- 创建含附注类型的标签:
$ git tag -a v1.4 -m 'my version 1.4'# 轻量级标签
$ git tag v1.4-lw# git show 查看响应标签的版本信息,包括标签对象
--$ git show v1.4
tag v1.4
Tagger: Scott Chacon <1@qq.com>
Date: Mon Feb 9 14:45:11 2009 -0800my version 1.4commit 15027951111...3b3ff6
Merge: 4a41117... a611117...
Author: n <1@qq.com>
Date: Sun Feb 18 10:10:10 2009 -0800
- 签署标签:
如果有自己的私钥,还可用 GPG 来签署标签:
$ git tag -s v1.5 -m 'my signed 1.5 tag'
- 删除标签:
$ git tag -d v1.0
- 验证已经签署的标签:
$ git tag -v v1.4
object 883653babd11111116a5c392bb739348b1eb61
type commit
tag v1.4
tagger 1C 1<1@1.1> 111111111-0700GIT 1.4
- 后期标签加注:
$ git tag -a v1.2 9fceb11
- 分享标签:
默认情况下不会把标签传送到远端服务器上,只有通过显式命令才能分享标签到远端仓库。运行 git push origin [tagname]
:
$ git push origin --tags
Counting objects: 50, done.
Compressing objects: 100% (38/38), done.
Writing objects: 100% (44/44), 4.56 KiB, done.
Total 44 (delta 18), reused 8 (delta 1)
To git@github.1/1.git* [new tag] v0.1 -> v0.1* [new tag] v1.2 -> v1.2* [new tag] v1.4 -> v1.4* [new tag] v1.4-lw -> v1.4-lw
19、fetch 获取
用于从另一个存储库中下载对象和引用。
git fetch [<options>] [<repository> [<refspec>…]]
git fetch [<options>] <group>
git fetch --multiple [<options>] [(<repository> | <group>)…]
git fetch --all [<options>]
19.1 描述
-
从一个或多个其他存储库中获取分支或标签(引用)以及完成其历史所必需的对象**;
-
远程跟踪以更新,需要将这些更新获取回本地;
-
默认情况下还会获取正在获取的历史记录的任何标签;
-
可以从单个命名的存储库或 URL 中,也可以从多个存储库中获取;
-
获取的参考名称以及它们所指向的对象名称被写入到
.git/FETCH_HEAD
中。
19.2 基本用法
- 更新远程跟踪分支:
# 从远程 refs/heads/ 命名空间复制所有分支,并存储到本地 refs/remotes/origin/ 中
$ git fetch origin
- 使用 refspec:
# 从远程分支 pu 和 maint 提取到本地 pu 和 tmp
$ git fetch origin +pu:pu maint:tmp
- 远程分支上窥视:
$ git fetch git://git.1.org/1/git.git maint
# 使用FETCH_HEAD来检查具有git-log的分支
$ git log FETCH_HEAD
- 更新远程分支主机:
$ git fetch <远程主机名>
# 更新所有分支
$ git fetch
# 指定远程主机的指定分支
$ git fetch <远程主机名> <分支名>
# 查看远程分支
$ git branch -a
* master # 本地的当前分支remotes/origin/master # 远程分支
20、pull 整合
用于从另一个存储库或本地分支获取并集成(整合)到本地分支。
git pull [options] [<repository> [<refspec>…]]
20.1 描述
-
默认模式下,
git pull
是git fetch
后跟git merge FETCH_HEAD
的缩写; -
git pull
使用给定的参数运行git fetch
,并调用git merge
将检索到的分支头合并到当前分支中。
20.2 基本用法
- 将远程主机的分支与本地的分支 master 合并:
$ git pull origin next:master
# 合并当前分支则省略 : 冒号
- 建立追踪关系(tracking)下 pull 可以省略远程分支名:
# 手动建立追踪关系
$ git branch --set-upstream master origin/next
# 合并
$ git pull origin
# 若当前分支只有一个跟踪分支,则可以省略远程主机名
$ git pull
# 采用 rebase 模式
$ git pull --rebase <远程主机名> <远程分支名>:<本地分支名>
20.3 pull 与 fetch 的区别
- git fetch :相当于是从远程获取最新到本地,不会自动合并;
$ git fetch origin master # 下载最新版本都本地
$ git log -p master..origin/master # 比较分支差别
$ git merge origin/master # 合并
- git pull :相当于是从远程获取最新并 merge 到本地;
git pull origin master
21、push 更新推送
用于将本地分支的更新,推送到远程主机。格式与 pull 相似。
$ git push <远程主机名> <本地分支名>:<远程分支名>git push [--all | --mirror | --tags] [--follow-tags] [--atomic] [-n | --dry-run] [--receive-pack=<git-receive-pack>][--repo=<repository>] [-f | --force] [-d | --delete] [--prune] [-v | --verbose][-u | --set-upstream] [--push-option=<string>][--[no-]signed|--sign=(true|false|if-asked)][--force-with-lease[=<refname>[:<expect>]]][--no-verify] [<repository> [<refspec>…]]
21.1 描述
-
使用本地引用更新远程引用,同时发送完成给定引用所需的对象;
-
可以在每次推入存储库时,通过在那里设置挂钩触发一些事件;
-
当不指定使用
<repository>
参数时,将查询当前分支的branch.*.remote
以此确定位置。
21.2 基本用法
- 删除远程分支:
# 推送本地空的分支
$ git push origin :master
# 等同于
$ git push origin --delete master
-u
指定默认主机:
$ git push -u origin master # 后面可直接使用 git push
- 更改默认推送方式
simple
方法( V2.0 之前默认 matching ):
$ git config --global push.default matching
# 或者
$ git config --global push.default simple
- 推送更新
# 推送所有远程主机
$ git push --all origin
# 强制推送,产生一个 非直进式 合并
$ git push --force origin
# 推送标签,默认不推送
$ git push origin --tags
# 将远程分支推送到远程同名下
$ git push origin HEAD
# 将当前分支推送到源存储库中的远程引用匹配主机
$ git push origin HEAD:master
- 异分支推送、补充与覆盖:
# 推送新分支
$ git push origin lbranch-1:refs/rbranch-1
# 补充原有分支
$ git rebase rbranch-1
$ git push origin lbranch-2:refs/rbranch-1
# 覆盖远程分支
$ git push -f origin lbranch-2:refs/rbranch-1
--或者
$ git push origin :refs/rbranch-1 //删除远程的rbranch-1分支
$ git push origin lbranch-1:refs/rbranch-1
- 查看 push 结果:
$ gitk rbranch-1
- 标签推送与删除:
$ git push origin tag_name
# 删除远程标签
$ git push origin :tag_name
22、remote 管理
- 用于管理一组跟踪的存储库。
git remote [-v | --verbose]
git remote add [-t <branch>] [-m <master>] [-f] [--[no-]tags] [--mirror=<fetch|push>] <name> <url>
git remote rename <old> <new>
git remote remove <name>
git remote set-head <name> (-a | --auto | -d | --delete | <branch>)
git remote set-branches [--add] <name> <branch>…
git remote get-url [--push] [--all] <name>
git remote set-url [--push] <name> <newurl> [<oldurl>]
git remote set-url --add [--push] <name> <newurl>
git remote set-url --delete [--push] <name> <url>
git remote [-v | --verbose] show [-n] <name>…
git remote prune [-n | --dry-run] <name>…
git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)…]
22.1 基本用法
- 列出存在的远程分支:
git remote
- 列出详细信息:
# --verbose 显示对应的克隆地址
$ git remote -v
- 添加新的远程并检出一个分支:
# taging 指代对应的仓库
$ git remote add staging git://git.kernel.org/.../gregkh/staging.git
# 列出分支
$ git remote
# 更新远程分支
$ git fetch staging
# 查看分支关系
$ git branch -r
# 切换到远程分支
$ git checkout -b github/master
- 模仿 clone ,但只跟踪选定分支
$ git remote add -f -t master -m master origin git://example.com/git.git
$ git merge origin
23、submodule 管理子模块
- 用于初始化、更新或检出子模块。
git submodule [--quiet] add [<options>] [--] <repository> [<path>]
git submodule [--quiet] status [--cached] [--recursive] [--] [<path>…]
git submodule [--quiet] init [--] [<path>…]
git submodule [--quiet] deinit [-f|--force] (--all|[--] <path>…)
git submodule [--quiet] update [<options>] [--] [<path>…]
git submodule [--quiet] summary [<options>] [--] [<path>…]
git submodule [--quiet] foreach [--recursive] <command>
git submodule [--quiet] sync [--recursive] [--] [<path>…]
git submodule [--quiet] absorbgitdirs [--] [<path>…]
23.1 使用场景
当项目越来越多的时候,常常会需要提取一个公共的库给多个项目使用,此时会有:
-
如何在 git 项目中导入库?
-
库在其他项目中被修改了可以更新到远程代码库?
-
其他库如何获取库的最新的提交?
-
如何在 clone 的时候自动导入库?
23.2 描述
submodule 是一个很好的多项目使用共同类库的工具。
-
允许类库项目为 repository,子项目为一个单独的 git 项目存在父项目中,子项目可以有自己的独立的
commit
,push
,pull
; -
父项目以 Submodule 的形式包含子项目,父项目可以指定子项目 header;
-
父项目中的提交信息包含 Submodule 的信息,clone 父项目时可以把 Submodule 初始化。
23.3 基本用法
-
添加子模块:
- 添加名为 “DbConnector” 的库,默认情况下子模块会将子项目放到一个与仓库同名的目录:
$ git submodule add http://github.com/chaconinc/DbConnector
- 此时会新增两个文件,包括
.gitmodules
文件,该配置文件保存了 URL 与已经拉取的本地目录之间的映射:
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.Changes to be committed:(use "git reset HEAD <file>..." to unstage)new file: .gitmodulesnew file: DbConnector$ cat .gitmodules
[submodule "DbConnector"]path = DbConnectorurl = http://github.com/chaconinc/DbConnector
如果有多个子模块,该文件就会有多条记录;
如果
.gitignore
文件一样受到版本控制;
-
克隆含有子模块的项目:
- 项目中有 DbConnector 目录,不过是空的,需要进行初始化:
$ ls -la
drwxr-xr-x 13 schacon staff 442 Sep 17 15:21 .git
-rw-r--r-- 1 schacon staff 92 Sep 17 15:21 .gitmodules
drwxr-xr-x 2 schacon staff 68 Sep 17 15:21 DbConnector
...
git submodule init
用来初始化本地配置文件,而git submodule update
则从该项目中抓取所有数据并检出父项目中列出的合适的提交:
$ git submodule init
Submodule 'DbConnector' (http://github.com/chaconinc/DbConnector) registered for path 'DbConnector'
$ git submodule update
Cloning into 'DbConnector'...
remote: Counting objects: 11, done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 11 (delta 0), reused 11 (delta 0)
Unpacking objects: 100% (11/11), done.
Checking connectivity... done.
Submodule path 'DbConnector': checked out 'c3f01dc8862123d317dd46284b05b6892c7b29bc'
- 也可以在 clone 时利用
--recursive
进行自动初始化并更新仓库中的每一个子模块:
$ git clone --recursive http://github.com/chaconinc/MainProject
- 删除 submodule:
# 不支持直接删除,需手动删除:
git rm --cached pod-library
rm -rf pod-library
rm .gitmodules
更改git的配置文件config:
vim .git/config
# 删除后进行提交远程服务器
git commit -a -m 'remove pod-library submodule'
24、show 显示
- 用于显示各种类型的对象。
git show [options] <object>…
24.1 描述
-
显示一个或多个对象(
blobs
,树,标签和提交); -
显示日志消息和文本差异,还以
git diff-tree --cc
生成的特殊格式呈现合并提交; -
显示标签消息和引用对象;
-
显示树的名称(相当于
git ls-tree
和--name-only
); -
显示 blobs 的普通的内容;
-
通常用来显示提交引入的更改。
24.2 基本用法
- 显示标签及其指向对象:
$ git show v1.0.0
- 显示标签指向的树:
$ git show v1.0.0^{tree}
- 显示标签指向的提交的主题:
$ git show -s --format=%s v1.0.0^{commit}
- 显示 README 文件内容,next 分支的第10次提交的内容:
$ git show next~10:README
- 将 Makefile 的内容连接到分支主控的头部:
$ git show master:Makefile master:t/Makefile
25、shortlog 汇总
- 用于汇总 git 日志输出。
git log --pretty=short | git shortlog [<options>]
git shortlog [<options>] [<revision range>] [[\--] <path>…]
如果在命令行上没有传递修订版本,并且标准输入不是终端或没有当前的分支,则 git shortlog
将输出从标准输入读取的日志的摘要,而不引用当前存储库。
25.1 基本用法
- 显示用户提交次数以及提交的注释:
$ git shortlog -s -n135 Tom Preston-Werner15 Jack Danger Canty
-s
省略每次 commit 注释仅仅返回一个简单统计;
-n
按照 commit 数量从多到少进行排序。
26、describe 显示最近标签
显示离当前提交最近的标签。
简介:
git describe [--all] [--tags] [--contains] [--abbrev=<n>] [<commit-ish>…]
git describe [--all] [--tags] [--contains] [--abbrev=<n>] --dirty[=<mark>]
26.1 描述
-
查找从提交可访问的最新标记;
-
如果标签指向提交,则只显示标签。 否则,它将标记名称与标记对象之上的其他提交数量以及最近提交的缩写对象名称后缀;
-
默认情况下(不包括
--all
或--tags
) git 描述只显示注释标签。
26.2 基本用法
- 显示标签描述信息:
$ git describe --tags
tag1-2-g026498b
2
:表示自打tagtag1
以来有2
次提交(commit);
g026498b
:g 为git的缩写,在多种管理工具并存的环境中很有用处;
27、rebase 合并修改
- 在另一个分支基础之上重新应用,用于把一个分支的修改合并到当前分支。
git rebase [-i | --interactive] [options] [--exec <cmd>] [--onto <newbase>][<upstream> [<branch>]]
git rebase [-i | --interactive] [options] [--exec <cmd>] [--onto <newbase>]--root [<branch>]
git rebase --continue | --skip | --abort | --quit | --edit-todo
27.1 示例
-
merge 合并:
- 基于远程分支 origin 新建一个分支 mywork:
- 在 mywork 分支上做一些修改生成两个提交:
- 此时用 pull 命令把 origin 分支上的修改拉下来与自己的修改进行合并
# 1.
$ git checkout -b mywork origin
# 2.
$ vi file.txt
$ git commit
# 3.
$ git pull ...
-
rebase 合并:
- 若是想分支历史合并,使得远程记录进行合并,则用 rebase 合并:
$ git checkout mywork
$ git rebase origin
该命令会把”mywork
“分支里的每个 commit 取消掉,并临时保存为补丁(patch 在”.git/rebase
“),然后把”mywork
“ 更新 ”origin
“ ,最后把补丁应用到”mywork
“上。
更新 mywork 之后,会指向新的提交,丢弃旧的提交。
运行垃圾收集命令(pruning garbage collection), 删除被丢弃的提交。
rebase 过程中也会出现冲突,git 会停止 rebase,解决完冲突后,add 更新内容的索引,无需 commit ,只需要:
$ git rebase --continue
此时 git 会 apply 余下的 补丁。
- 可以用
--abort
来终止 rebase 操作。并且 mywork 会回到 rebase 开始前的状态:
$ git rebase --abort
相关文章:
Git(六):基本命令(3):储藏、标签、拉取、子模块
目录 17、stash 储藏 17.2 描述 17.3 基本用法 18、tag 标签 18.1 描述 18.2 基本用法 19、fetch 获取 19.1 描述 19.2 基本用法 20、pull 整合 20.1 描述 20.2 基本用法 20.3 pull 与 fetch 的区别 21、push 更新推送 21.1 描述 21.2 基本用法 22、remote 管…...
7.0、Java继承与多态 - 多态的特性
7.0、Java继承与多态 - 多态的特性 面向对象的三大特征:封装性、继承性、多态性; extends继承 或者 implements实现,是多态性的前提; 用学生类创建一个对象 - 小明,他是一个 学生(学生形态)&…...
将系统从机械硬盘迁移至固态硬盘上
1、使用DiskGenius软件、分区助手或者傲梅分区助手进行系统迁移 参考: 系统迁移 - DiskGenius 分区助手专业版如何迁移系统到固态硬盘-迁移系统到固态硬盘的方法_华军软件园 (onlinedown.net) 无需重装,轻松将系统迁移到固态硬盘! (disktool.cn) 注…...
《Netty》从零开始学netty源码(五十一)之PoolArena的内存释放与扩容
目录 释放空间free()destroyChunk()freeChunk() 扩容reallocate()memoryCopy() 释放空间free() 当chunk使用完毕后需要释放,如果是池化chunk则需要放回池中供下次循环利用,如果是非池化的则直接释放对应的物理空间。 下面继续分析释放具体物理空间的des…...
Android Input系统事件分发分析
“本文基于Android13源码,分析Input系统中,事件分发的实现原理“ 整个事件分发到事件的确认过程很长,如果读者只是想大概了解一下,可以直接看末尾总结部分的流程图。 1. 前言 在文章之前,有必要提一下InputReader。其…...
Linux-基本指令2
文章目录 touch(新建一个文件)whoami(查看当前用户名)概念:1.你是如何看待指令的?2.我们在执行指令之前,我们应该先做什么? 概念:/tree . (树状显示文件夹和文件)rmdir && rmrmdirrm ctrl c通配符…...
辨析 项目范围核查、WBS核查
项目范围核查、WBS核查辨析 项目范围核查 项目目标是否完善和准确指标是否可靠和有效约束和限制条件是否真实和符合实际重要假设前提是否合理风险是否可以接受成功把握是否很大范围定义是否能够保证上述目标的实现范围能够给出的效益是否高于成本范围定义是否需要进一步进行辅…...
跳跃游戏类题目 总结篇
一.跳跃游戏类题目简单介绍 跳跃游戏是一种典型的算法题目,经常是给定一数组arr,从数组的某一位置i出发,根据一定的跳跃规则,比如从i位置能跳arr[i]步,或者小于arr[i]步,或者固定步数,直到到达某…...
Ubuntu20.04 交叉编译Paddle-OCR
第一步:交叉编译Paddle-Lite 参考链接:https://blog.csdn.net/sz76211822/article/details/130466597?spm1001.2014.3001.5501 第二步:交叉编译opencv4.x 参考链接:https://blog.csdn.net/sz76211822/article/details/13046168…...
Java 基础进阶篇(四)—— 权限修饰符、final 关键字与枚举
文章目录 一、权限修饰符二、final 关键字2.1 final 作用2.2 final 修饰变量举例2.3 常量 三、枚举3.1 枚举的格式3.2 枚举的特征3.3 枚举的应用 一、权限修饰符 权限修饰符 用于约束成员变量、构造器、方法等的访问范围。 权限修饰符: 有四种作用范围由小到大 (p…...
Linux命令集(Linux文件管理命令--touch指令篇)
Linux命令集(Linux文件管理命令--touch指令篇) Linux文件管理命令集(touch指令篇)6. touch(touch)1. 创建名为 file1 的空文件2. 创建名为 file1 和名为 file2 的多个文件3. 创建名为 file1 的文件并将访问时间设置为特定日期4. 创…...
软件工程学习教程大纲
软件工程学习教程大纲 第一章:软件工程概述 1.1 软件工程的定义和作用 软件工程的发展历程和趋势 软件工程的应用领域和特点 1.2 软件开发生命周期 软件开发生命周期的定义和阶段 软件开发生命周期的模型和方法 1.3 软件工程方法和工具 软件工程方法和工具…...
使用ChatGPT生成了十种排序算法
前言 当前ChatGPT非常火爆,对于程序员来说,ChatGPT可以帮助编写很多有用的代码。比如:在算法的实现上,就可以替我们省很多事。所以,小试牛刀一下,看看ChatGPT生成了排序算法怎么样? 简介 排序…...
GEE:MODIS计算遥感指数(NDVI、BSI、NDSI、EVI、LSWI、SIPI、EBI等)
作者:_养乐多_ 本文将介绍如何使用Google Earth Engine(GEE)进行遥感影像分析,具体地,使用MODIS数据集计算和可视化几种植被指数,以评估植被生长的状况,或者作为随机森林分类器训练需要的特征变量。 主要包括,NDVI、BSI、NDSI、EVI、LSWI、SIPI、EBI等。 NDVI(Normal…...
《*** 法治思想学习纲要》学习辅导
《*** 法治思想学习纲要》学习辅导 总分:100 及格分数:60 考试剩余时间: 1时 59分 35秒 单选题(共7题,每题5分) 1、全面依法治国中的“关键少数”是()。 正确答案:C、领导…...
初识Go语言18-面向对象【面向对象的概念、构造函数、继承与重写 泛型】
文章目录 面向对象面向对象的概念构造函数继承与重写泛型 面向对象 面向对象的概念 洗衣服过程剖析: 给洗衣机里加脏衣服和洗衣粉。启动洗衣机。洗衣机自动注水,然后滚动。脏衣服从黑颜色变成白颜色。洗衣机自动停止。 用面向过程的思想实现代码。 //…...
4.微服务项目实战---Sentinel--服务容错
4.1 高并发带来的问题 在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用,但是由于网络 原因或者自身的原因,服务并不能保证服务的 100% 可用,如果单个服务出现问题,调用这个服务…...
Postgres SELECT INSERT 流程 ?
SELECT 当执行SELECT查询时,PostgreSQL数据库会按照以下流程进行处理: 首先,查询语句会被发送到服务器。 服务器会接收查询请求,并根据查询条件从表中读取数据。 数据库会将数据存储在磁盘上的数据文件中,然后将其读…...
OpenAI推企业版ChatGPT,英伟达造AI安全卫士
GPT现在已经进入了淘金时代。虽然全球涌现出成千上万的大模型或ChatGPT变种,但一直能挣钱的人往往是卖铲子的人。 这不,围绕暴风眼中的大模型,已经有不少企业,开始研究起了大模型的“铲子”产品,而且开源和付费两不误…...
【原创】运维的终点是开发~chatGPT告诉你真相
文章目录 软件技术岗位鄙视链,你在哪层呢?让chatGPT告诉你运维工作好,还是开发工作好问它几个问题来自你的消息: 一个三年开发成长的案例和薪资来自ChatAI的消息:来自你的消息: 一个三年运维成长的案例和薪资来自ChatAI的消息:来自你的消息: …...
SSH 服务器、NFS 服务器、TFTP 服务器详解及测试
文章目录 前言一、SSH 服务器1、SSH 能做什么?2、安装 SSH 服务器3、测试 SSH 服务4、用 SecureCRT 测试 二、NFS 服务器1、NFS 能做什么?2、安装 NFS 软件包3、添加 NFS 共享目录4、启动 NFS 服务5、测试 NFS 服务器 三、TFTP 服务器1、TFTP 能做什么&a…...
1.3 HBase 基本架构
架构角色: 1)Master 实现类为 HMaster,负责监控集群中所有的 RegionServer 实例。主要作用如下: (1)管理元数据表格 hbase:meta,接收用户对表格创建修改删除的命令并执行 (2&#x…...
微机作业题
答案做的,正确性不保证。 1. 微型计算机的性能主要取决( A )的性能。 A. CPU B. 显示器 C. 硬盘 D. U盘 2. 计算机的工作过程,本质是( A )的过程。 A. 进行科学计算 …...
非极大值抑制详细原理(NMS含代码及详细注释)
作者主页:爱笑的男孩。的博客_CSDN博客-深度学习,YOLO,活动领域博主爱笑的男孩。擅长深度学习,YOLO,活动,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?typecollect 个…...
女朋友说总是记不住Git命令,怎么办?安排!
如果你也和我女朋友一样总是忘记Git命令,觉得记忆Git命令是很枯燥和麻烦的事情。我写了一个包含了40 条常用Git命令的清单。你一定要收藏起来,当你忘记Git命令的时候,就可以打开来查看啦!!! 1.初始化本地仓…...
【ChatGLM】本地版ChatGPT ?6G显存即可轻松使用 !ChatGLM-6B 清华开源模型本地部署教程
目录 感谢B站秋葉aaaki大佬 前言 部署资源 部署流程 实机演示 ChatGML微调(人格炼成)(个人感觉蛮有趣的地方) 分享有趣の微调人格 实机演示(潘金莲人格) 感谢B站秋葉aaaki大佬 秋葉aaaki的个人空间…...
【MySQL】练习六 关系数据理论及数据库设计
文章目录 主要内容练习题一、选择题二、填空题三、判断题四、简答题主要内容 一个不好的关系模式可能存在的问题;函数依赖及三种函数依赖的定义:完全、部分、传递范式及1NF/2NF/3NF/BCNF的判定模式分解数据库设计的基本步骤概念设计(E-R图)逻辑模型(E-R图转换为逻辑模型的…...
UG NX二次开发(C++)-建模-修改NXObject或者Feature的颜色(一)
文章目录 1、前言2、在UG NX中修改Feature的颜色操作3、采用NXOpen(C)实现3.1 创建修改特征的方法3.2 调用ModifyFeatureColor方法3.3 测试结果 1、前言 在UG NX中,改变NXObject和Feature的操作是不相同的,所以其二次开发的代码也不一样,我们…...
全球天气weather.com的icon汇总表 天气现象代码枚举
全球天气weather.com的icon汇总表 天气现象代码枚举 Icon代码天气情况(列举常见情况,不包含全部)3大暴雨、大暴雨伴有风4大雷雨、强雷雨、雷雨、雷雨伴有风5雨或雪、雨伴有阵雪6雨夹冰粒、雨夹冰粒伴有风7雨夹雪、小雨夹雪、雪伴有冰粒和风、小雨夹雪伴有风、雪伴有冰粒8冻毛雨…...
【Python】【进阶篇】16、settings.py配置文件详解
目录 settings.py配置文件详解1. settings.py文件介绍1) BASE_DIR2) SECRET_KEY3) DEBUG4) ALLOWED_HOSTS5) INSTALLED_APPS6) MIDDLEWARE7) ROOT_URLCONF8) TEMPLATES9) WSGI_APPLICATION10) DATABASES11) AUTH_PASSWORD_VALIDATORS12) LANGUAGE_CODE和TIME_ZONE13) USE_118N和…...
个人网站有什么外国广告做/免费b站在线观看人数在哪
在原有的五套主题色调上增加: 一、后台设置: 路径:crmeb1.5\src\pages\setting\themeStyle 例如:添加一个青色主题色调的 <Radio :label"6" border class"box orange">青色<i class"iconfont…...
知乎 淘宝网站建设/百度指数搜索榜
本动手实战项目介绍了如何在前端使用Ajax向后端请求数据并展示在Web页面,并且在Web页面提供了“增、删、查、改”的功能。 一、融汇贯通 将Python语言和Django基础知识,以实际应用为媒介,有机组织、融汇贯通。让你的理论与实践结合起来&#…...
有哪些做婚礼电子请柬的网站/现在百度怎么优化排名
主备同步的实现原理 我们先来了解一下主备同步的原理,下面以一个update语句来介绍主库与备库间是如何进行同步的。 上图是一个update语句在节点A执行,然后同步到节点B的完整流程图,具体步骤有: 主库接受到客户端发送的一条updat…...
58同城网招聘找工作建筑工程/佛山seo外包平台
磁盘阵列df -h看文件系统使用率 : format看可用磁盘 : cfgadm -al看总线连接...
二级建造师考试试题/整站优化的公司
refs: http://blog.chinaunix.net/uid-26404201-id-3334234.html 先看下面的Makefile: #exampleB : $(A)A laterall: echo $(B) 执行make命令,我们发现什么都没输出,我们将第3行的:换成。#exampleB $(A)A laterall: echo $(B) 执行make&#x…...
学院网站建设/cnzz数据统计
V831在jupyter 显示拍摄图像使用方法遇到的问题及解决方法折腾了好久终于成功了。不废话看效果 使用方法 怎么做到的呢?一起来吧,先复习一下jupyter怎么用。 本机CMD 输入jupyter notebook 启动jupyter V831启动服务 maixpy3_rpycs 在jupyter建一个网…...