Git 的安装和使用

news2024/12/28 4:31:36

一、Git 的下载和安装

目录

一、Git 的下载和安装

1. git 的下载

2. 安装

二、Git 的基本使用-操作本地仓库

1 初始化仓库

1)创建一个空目录

2)git init

2 把文件添加到版本库

1)创建文件

2)git add .

3)git commit -m" "

3 其他命令

1)git status

2)git log

4 版本回退

1)方式一:

2)方式二:

5 指定哪些文件不需要Git进行管理

6 查看文件上次修改的内容

7 撤销修改

1)git checkout -- 文件名

2)git reset HEAD 文件名

3)小结

8 删除文件和恢复误删文件

三、分支

1.查看本地分支

2 创建本地分支

3 切换分支(checkout)

1)使用switch进行分支切换

(1)创建并切换到新的分支

(2)切换到已有的分支

2)使用checkout进行分支切换

(1)创建并切换到新的分支

(2)切换到已有的分支

4 合并分支(merge)

1)用Fast forward模式

2)禁用Fast forward模式

3)两种模式的区别

5 删除分支

6 解决冲突

7 小节

四、修改bug-分支

1 修复场景

2 创建分支修复bug

1) 创建修改bug的分支

2)修复bug,合并到master分支

3)修复dev的bug

4)小结

五、标签管理

1 创建标签

1)在当前分支上创建标签

2)根据commit id创建标签

3)创建带有说明的标签

2 查看所有标签

1)查看所有标签

2)查看指定标签

3 操作标签

1)删除标签

2)删除远程标签

3)推送标签到远程

4)一次性推送全部尚未推送到远程的本地标签

六、自定义Git

1 Git显示颜色

2 忽略特殊文件

3 强制添加忽略文件到Git

4 检查.gitignore的编写问题

5 解决指点文件不受.gitignore规则管理,即:排除在外

6 小结

七、配置命令别名

1 全局配置别名

2 配置文件-配置别名

3 配置文件-为常用指令配置別名

1)打开用户目录,创建 .bashrc 文件

2)在 .bashrc 文件中进行配置

3)打开gitBash,执行 .bashrc 的配置

八、搭建Git服务器

九、图形界面工具

十、git log-日志

十一、查看本地账号及切换账号

1、查看本地已登录的账号

2、查看本地已登录的账号绑定的邮箱

3、切换本地登录的账号

4、切换本地登录的账号绑定的邮箱

十二、创建本地分支和远程分支的链接关系

1 小结

 


1. git 的下载

下载地址: Git - Downloads

2. 安装

  1. 按照附件的 顺序直接下一步傻瓜式安装即可
  2. 其中安装的过程中需要填写一个邮箱和用户名(任意即可)

安装完成后,回到桌面右键,显示下面内容表示安装成功

安装完成后,还需要最后一步设置,在命令行输入:

鼠标右键点击桌面打开Git bash Here

分别输入:

$ git config --global user.name "you_name"
$ git config --global user.email "xxx...ccc@qq.com"

注:

  • you_name:你的名字
  • xxx...ccc@qq.com:你的email地址
  • 注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

二、Git 的基本使用-操作本地仓库

1 初始化仓库

1)创建一个空目录

在合适的地方,创建一个空目录

鼠标右键点击桌面打开Git Bash Here

2)git init

通过git init命令把这个目录变成Git可以管理的仓库:

$ git init

看到.git目录,表示初始化仓库成功,如果你没有看到.git目录,那是因为这个目录默认是隐藏的,用ls -ah命令就可以看见。

2 把文件添加到版本库

把一个文件放到Git仓库需要两步。

1)创建文件

在仓库目录下创建一个文件readme.txt,并随意填写一些内容进去

也可以直接在Git Bash里使用命令创建文件

touch 文件名.txt

2)git add .

第一步,用命令git add告诉Git,把文件添加到仓库:

也可以直接使用git add . 表示提交所以的文件到仓库暂存区

$ git add readme.txt
//表示提交所以的文件到仓库暂存区
$ git add .

3)git commit -m" "

第二步,用命令git commit告诉Git,把文件提交到仓库:

$ git commit -m "wrote a readme file"

简单解释一下git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。

3 其他命令

1)git status

常看git仓库提价状态

2)git log

查看git的提交日志

4 版本回退

1)方式一:

git reset --hard commitID

commitID:表示需要回退到的版本的Id;

commitID可以使用:

git reflog
或
git log

进行查询版本id

2)方式二:

也可以使用:

$ git reset --hard HEAD^

进行回退;

在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。

5 指定哪些文件不需要Git进行管理

在Git目录下创建一个.gitignore文件,在里面进行指定即可:

.gitignore文件内容为:*a

6 查看文件上次修改的内容

命令:git diff 文件名

7 撤销修改

1)git checkout -- 文件名

$ git checkout -- 文件名

如:$ git checkout -- readme.txt

命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

  • 一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
  • 一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就是撤销掉后面做的修改,回到添加到暂存区的状态。

总之,就是让这个文件回到最近一次git commit或git add时的状态。

2)git reset HEAD 文件名

$ git reset HEAD 文件名

假定是凌晨3点,你不但写了一些胡话,还git add到暂存区了:

那怎么将提交到暂存区的修改进行撤销呢?

命令git reset HEAD 文件名可以把暂存区的修改撤销掉(unstage),重新放回到工作区中;

git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。

再用git status查看一下,暂存区就是干净的了

3)小结

  • 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
  • 场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作。
  • 场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。

8 删除文件和恢复误删文件

一般情况下,你可以直接在文件位置将没用的文件删除,或者用rm命令删了:

$ rm 文件名

这个时候,Git知道你删除了文件,因此,工作区和版本库就不一致了,git status命令会立刻告诉你哪些文件被删除了:

现在你有两个选择:

一、是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit:

$ git rm 文件名
//===================
git commit -m '操作注释'

二、另一种情况是误删了,因为版本库里还有,所以可以很轻松地把误删的文件恢复到最新版本:

$ git checkout -- 文件名

git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

但是注意,修改了内容没有提交到版本库,恢复的文件是只是版本库里的最新内容。

三、分支

1.查看本地分支

命令:git branch

2 创建本地分支

命令:git branch 分支名

3 切换分支(checkout)

1)使用switch进行分支切换

(1)创建并切换到新的分支
$ git switch -c 新分支名称
(2)切换到已有的分支
$ git switch 分支名

2)使用checkout进行分支切换

(1)创建并切换到新的分支
$ git checkout -b 新分支名称
(2)切换到已有的分支
$ git checkout 分支名

4 合并分支(merge)

用于合并别的分支到自己分支

1)用Fast forward模式

git merge 分支名称

2)禁用Fast forward模式

$ git merge --no-ff -m "info" dev

info:描述信息

dev:被合并的分支名称

3)两种模式的区别

注:合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。

5 删除分支

不能删除当前分支,只能删除其他分支

git branch -d 分支名称 //删除分支时,需要做各种检查
git branch -D 分支名称 //不做任何检查,强制删除

6 解决冲突

当两个分支上对文件的修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时就需要手动解决冲突,解决冲突步骤如下:

  1. 处理文件中冲突的地方
  2. 将解决完冲突的文件加入暂存区(add)
  3. 提交到仓库(commit)

7 小节

Git鼓励大量使用分支:

  • 查看分支:git branch
  • 创建分支:git branch <name>
  • 切换分支:git checkout <name>或者git switch <name>
  • 创建+切换分支:git checkout -b <name>或者git switch -c <name>
  • 合并某分支到当前分支:git merge <name>
  • 删除分支:git branch -d <name>

四、修改bug-分支

参考:Bug分支 - 廖雪峰的官方网站

在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。

1 修复场景

  • master分支存在bug,需要进行修复,同时dev分支是早期从master分支分出来的,所以,dev分支也存在这个bug。

2 创建分支修复bug

1) 创建修改bug的分支

在master分支下创建一个修复bug的分支bug01,并切换到bug01分支

$ git checkout -b bug01

2)修复bug,合并到master分支

  • 修复bug文件
  • 进行提交
//添加到暂存区
$ git add bug文件名 
//提交到仓库
$ git commit -m "bug描述"

  • 切换会master分支
$ git switch master

  • 合并到master分支
$ git merge --no-ff -m "描述bug" bug01

  • 修复master的bug成功

3)修复dev的bug

在master分支上修复了bug后,我们要想一想,dev分支是早期从master分支分出来的,所以,这个bug其实在当前dev分支上也存在。

那怎么在dev分支上修复同样的bug?重复操作一次,提交不就行了?

  • 有木有更简单的方法?
  • 有!

为了方便操作,Git专门提供了一个cherry-pick命令,让我们能复制一个特定的提交到当前分支:

$ git cherry-pick 4c805e2

4c805e2:提交操作的id

(1)先得到commitid

$ git log --graph --pretty=oneline --abbrev-commit

(2)执行cherry-pick,进行复制合并,修复bug

$ git cherry-pick 4b24b3a

(3)修复bug成功,查看日志

$ git log --graph --pretty=oneline --abbrev-commit

Git自动给dev分支做了一次提交,注意这次提交的commit是c2a9ebc,它并不同于master的4b24b3a,因为这两个commit只是改动相同,但确实是两个不同的commit。用git cherry-pick,我们就不需要在dev分支上手动再把修bug的过程重复一遍。

4)小结

修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;

当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场;

在master分支上修复的bug,想要合并到当前dev分支,可以用git cherry-pick <commit>命令,把bug提交的修改“复制”到当前分支,避免重复劳动。

五、标签管理

1 创建标签

参考:创建标签 - 廖雪峰的官方网站

1)在当前分支上创建标签

在Git中打标签非常简单,首先,切换到需要打标签的分支上:

然后,敲命令git tag <name>就可以打一个新标签:

$ git tag v1.0

v1.0:标签名

2)根据commit id创建标签

$ git tag v0.9 f52c633

v0.9:标签名

f52c633:commit id

3)创建带有说明的标签

创建带有说明的标签,用-a指定标签名,-m指定说明文字:

$ git tag -a v0.1 -m "version 0.1 released" 1094adb

1094adb:commit id,可以不填写,不写表示在当前分支进行添加标签

2 查看所有标签

1)查看所有标签

$ git tag

2)查看指定标签

标签不是按时间顺序列出,而是按字母排序的。可以用git show <tagname>查看标签信息:

$ git show v0.9

v0.9:标签名

注:命令git show <tagname>也可以看到标签的说明文字

3 操作标签

1)删除标签

$ git tag -d v0.1

v0.1:标签名

因为创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除。

2)删除远程标签

如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除

$ git tag -d v0.9

然后,从远程删除。删除命令也是push,但是格式如下:

$ git push origin :refs/tags/v0.9

3)推送标签到远程

$ git push origin v1.0

4)一次性推送全部尚未推送到远程的本地标签

$ git push origin --tags

六、自定义Git

1 Git显示颜色

Git显示颜色,会让命令输出看起来更醒目:

$ git config --global color.ui true

2 忽略特殊文件

[参考本笔记](#5 指定哪些文件不需要Git进行管理)

参考:忽略特殊文件 - 廖雪峰的官方网站

有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件啦,等等,每次git status都会显示Untracked files ...,有强迫症的童鞋心里肯定不爽。

好在Git考虑到了大家的感受,这个问题解决起来也很简单,在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。

不需要从头写.gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。所有配置文件可以直接在线浏览:https://github.com/github/gitignore

忽略文件的原则是:

  1. 忽略操作系统自动生成的文件,比如缩略图等;
  2. 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件;
  3. 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。

最后一步就是把.gitignore也提交到Git,就完成了!

3 强制添加忽略文件到Git

有些时候,你想添加一个文件到Git,但发现添加不了,原因是这个文件被.gitignore忽略了:

如果你确实想添加该文件,可以用-f强制添加到Git:

$ git add -f 文件名

4 检查.gitignore的编写问题

有时候.gitignore写得可能有问题,需要找出来到底哪个规则写错了,可以用git check-ignore命令检查指定的文件规则问题:

$ git check-ignore -v 文件名

5 解决指点文件不受.gitignore规则管理,即:排除在外

还有些时候,当我们编写了规则排除了部分文件时;

我们发现.*这个规则把.gitignore也排除了,并且App.class需要被添加到版本库,但是被*.class规则排除了。

虽然可以用git add -f强制添加进去,但有强迫症的童鞋还是希望不要破坏.gitignore规则,这个时候,可以添加两条例外规则:

如下:

# 排除所有.开头的隐藏文件:
.*
# 排除所有.class文件:
*.class

# 不排除.gitignore和App.class:
!.gitignore
!App.class

把指定文件排除在.gitignore规则外的写法:

就是!+文件名,所以,只需把例外文件添加进去即可。

6 小结

  • 忽略某些文件时,需要编写.gitignore;
  • .gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理!

七、配置命令别名

参考:配置别名 - 廖雪峰的官方网站

有没有经常敲错命令?比如git status?status这个单词真心不好记。

如果敲git st就表示git status那就简单多了,当然这种偷懒的办法我们是极力赞成的。

1 全局配置别名

我们只需要敲一行命令,告诉Git,以后st就表示status:

$ git config --global alias.st status

当然还有别的命令可以简写,很多人都用co表示checkout,ci表示commit,br表示branch:

$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.br branch

注:--global参数是全局参数,也就是这些命令在这台电脑的所有Git仓库下都有用。

配置一个git last,让其显示最后一次提交信息:

$ git config --global alias.last 'log -1'

甚至还有人丧心病狂地把lg配置成了:

git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

2 配置文件-配置别名

配置Git的时候,加上--global是针对当前用户起作用的,如果不加,那只针对当前的仓库起作用。

配置文件放哪了?

每个仓库的Git配置文件都放在.git/config文件中:

别名就在[alias]后面,要删除别名,直接把对应的行删掉即可。

住:而当前用户的Git配置文件放在用户主目录下的一个隐藏文件.gitconfig中:

配置别名也可以直接修改这个文件,如果改错了,可以删掉文件重新通过命令配置。

3 配置文件-为常用指令配置別名

参考:05_git环境配与安装_哔哩哔哩_bilibili

有些常用的指令参数非常多,每次都要输入好多参数,我们可以使用别名。

1)打开用户目录,创建 .bashrc 文件

部分windows系统不允许用户创建点号开头的文件,可以打开gitBash,执行 touch ~/.bashrc

touch ~/.bashrc :表示用户根目录下创建.bashrc文件

也可指点创建的位置:如:touch~/git/.bashrc

2)在 .bashrc 文件中进行配置

如:

#用于输出git提交日志
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
#用于输出当前目录所有文件及基本信息
alias ll='ls -al'

3)打开gitBash,执行 .bashrc 的配置

source ~/.bashrc

八、搭建Git服务器

参考:搭建Git服务器 - 廖雪峰的官方网站

目前用不到,后期打算

九、图形界面工具

这里我们推荐SourceTree

参考:使用SourceTree - 廖雪峰的官方网站

十、git log-日志

常用:

$ git log --graph --pretty=oneline --abbrev-commit
或
$ git log --pretty=oneline --all --graph --abbrev-commit

十一、查看本地账号及切换账号

1、查看本地已登录的账号

git config user.name

2、查看本地已登录的账号绑定的邮箱

git config user.email

3、切换本地登录的账号

git config --global user.name "用户名"

4、切换本地登录的账号绑定的邮箱

git config --global user.email "邮箱"

十二、创建本地分支和远程分支的链接关系

如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>。

命令:

$ git branch --set-upstream-to=origin/dev dev

1 小结

  • 查看远程库信息,使用git remote -v;
  • 本地新建的分支如果不推送到远程,对其他人就是不可见的;
  • 从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
  • 在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
  • 建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;
  • 从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。

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

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

相关文章

迅睿 CMS 中开启【ionCube 扩展】的方法

有时候我们想要某种功能时会到迅睿 CMS 插件市场中找现有的插件&#xff0c;但会有些担心插件是否适合自己的需求。于是迅睿 CMS 考虑到这一层推出了【申请试用】&#xff0c;可以让用户申请试用 30 天&#xff0c;不过试用是有条件的&#xff0c;条件如下&#xff1a; php 版…

MyBatis复习笔记

3.Mybatis复习 3.1 xml配置 properties&#xff1a;加载配置文件 settings&#xff1a;设置驼峰映射 <settings><setting name"mapUnderscoreToCamelCase" value"true"/> </settings>typeAliases&#xff1a;类型别名设置 #这样在映射…

28. 正定矩阵和最小值

文章目录 1. 概述2. 正定矩阵判定条件3. 举例 1. 概述 正定矩阵这节可以将主元&#xff0c;行列式&#xff0c;特征值&#xff0c;还有不稳定性结合起来。以前我们学的是解决方程 A x b Axb Axb 的问题&#xff0c;现在升级&#xff0c;变成 x T A x b x^TAxb xTAxb &…

html 字体设置 (web端字体设置)

windows自带的字体是有版权的&#xff0c;包括微软雅黑&#xff08;方正&#xff09;、宋体&#xff08;中易&#xff09;、黑体&#xff08;中易&#xff09;等 版权算是个大坑&#xff0c;所谓为了避免版权问题&#xff0c;全部使用开源字体即可 我这里选择的是思源宋体&…

Java进阶学习笔记10——子类构造器

子类构造器的特点&#xff1a; 子类的全部构造器&#xff0c;都会先调用父类的构造器&#xff0c;再执行自己。 子类会继承父类的数据&#xff0c;可能还会使用父类的数据。所以&#xff0c;子类初始化之前&#xff0c;一定先要完成父类数据的初始化&#xff0c;原因在于&…

【pyspark速成专家】7_SparkSQL编程1

目录 一&#xff0c;RDD&#xff0c;DataFrame和DataSet对比 二&#xff0c;创建DataFrame 本节将介绍SparkSQL编程基本概念和基本用法。 不同于RDD编程的命令式编程范式&#xff0c;SparkSQL编程是一种声明式编程范式&#xff0c;我们可以通过SQL语句或者调用DataFrame的相…

2024Spring> HNU-计算机系统-实验4-Buflab-导引+验收

前言 称不上导引了&#xff0c;因为验收已经结束了。主要是最近比较忙&#xff0c;在准备期末考试。周五晚上才开始看实验&#xff0c;自己跟着做了一遍实验&#xff0c;感觉难度还是比bomblab要低的&#xff0c;但是如果用心做的话对于栈帧的理解确实能上几个档次。 实验参考…

ClickHouse 24.4 版本发布说明

本文字数&#xff1a;13148&#xff1b;估计阅读时间&#xff1a;33 分钟 审校&#xff1a;庄晓东&#xff08;魏庄&#xff09; 本文在公众号【ClickHouseInc】首发 新的一个月意味着新版本的发布&#xff01; 发布概要 本次ClickHouse 24.4版本包含了13个新功能&#x1f381;…

List Control控件绑定变量

创建基于对话框的mfc项目 添加 List Control控件 右击控件&#xff0c;选择“添加变量” 在初始化对话框代码中增加一些代码 BOOL CMFCApplication3Dlg::OnInitDialog() { //...// TODO: 在此添加额外的初始化代码DWORD dwStyle m_programLangList.GetExtendedStyle(); …

程序员的那些经典段子

哈喽&#xff0c;大家好&#xff0c;我是明智&#xff5e; 本周咱们已经解决了在面试中经常碰到的OOM问题&#xff1a; 《美团一面&#xff0c;发生OOM了&#xff0c;程序还能继续运行吗&#xff1f;》 《美团一面&#xff1a;碰到过OOM吗&#xff1f;你是怎么处理的&#xff1…

【Linux】Linux的基本指令_1

文章目录 二、基本指令1. whoami 和 who2. pwd3. ls4. clear5. mkdir 和 cd6. touch7. rmdir 和 rm 未完待续 二、基本指令 直接在命令行的末尾&#xff08;# 后面&#xff09;输入指令即可。在学习Linux指令的过程中&#xff0c;还会穿插一些关于Linux的知识点。 1. whoami …

AI助力垃圾分类开启智慧环保新时代,基于卷积神经网络模型开发实践垃圾分类识别系统

在快节奏的现代生活中&#xff0c;垃圾分类已经成为一项重要的环保举措。然而&#xff0c;面对日益复杂的垃圾种类和繁多的分类标准&#xff0c;许多人感到困惑和无奈。幸运的是&#xff0c;随着人工智能技术的飞速发展&#xff0c;AI深度学习模型为垃圾分类带来了革命性的变化…

人工智能 框架 paddlepaddle 飞桨 使用指南 使用例子 线性回归模型demo 详解

安装过程&使用指南&线性回归模型 使用例子 本来预想 是安装 到 conda 版本的 11.7的 但是电脑没有gpu 所以 安装过程稍有变动,下面简单讲下 conda create -n paddle_env117 python=3.9 由于想安装11.7版本 py 是3.9 所以虚拟环境名称也是 paddle_env117 activa…

嵌入式全栈开发学习笔记---C语言笔试复习大全21(编程题25~30)

目录 25、实现字符串的排序。&#xff08;输入hello world good&#xff0c;输出good hello world&#xff0c;其中字符串个数任意&#xff09; 26、输入两个有序的字符串&#xff08;从小到大&#xff09;&#xff0c;合并成一个有序的字符串。&#xff08;输入cdhxyz fjln …

利用EAS自动生成数据模型和sql脚本

EAS适用于敏捷开发中小系统,这节主要讲解EAS对应的模型和数据库脚本输出应用。 在这个应用程序中,用户可自定义实体模型和枚举模型,只要选择相应的实体或者枚举进行右击添加即可。 解决方案参数设定,在解决方案的设定中可设置项目名称、通用语言,命名空间和输出位置。 连…

Python+Flask+Pandas怎样实现任意时间范围的对比数据报表

话不多说,有图有源码: 1.上图 2.因为是低代码的,只能发重要有用的代码片段了 实现思路:1)获取指定时间范围内的数据:2)df合并 #----------年份替换----------------for syear in range(int(byear),int(eyear)1):start_datestr(syear)strbdate[4:]end_datestr(syear)stredate…

2024-05-22 VS2022使用modules

点击 <C 语言编程核心突破> 快速C语言入门 VS2022使用modules 前言一、准备二、使用其一, 用VS installer 安装模块:第二个选项就是, 与你的代码一同编译std模块, 这个非常简单, 但是也有坑. 总结 前言 要解决问题: 使用VS2022开启modules. 想到的思路: 跟着官方文档整…

Linux更改系统中的root密码

Linux里面的root密码忘记了怎么办&#xff1f; 1 更改系统中的 root 密码 &#xff08;1&#xff09;键盘 CtrlAltT 快捷键打开终端。 &#xff08;2&#xff09;在终端窗口中输入以下代码&#xff1a; sudo passwd root &#xff08;3&#xff09;输入锁屏密码 &#xf…

kali下载zsteg和stegpy

1.kali下载zsteg 从 GitHub 上克隆zsteg到kali git clone https://github.com/zed-0xff/zsteg 切换目录 cd zsteg 用于安装名为 zsteg 的 Ruby Gem 包 gem install zsteg 2.kali下载stegpy 下载网站内的stegpy-master压缩包GitCode - 开发者的代码家园 并拉到kali中 切换到s…

String s1 = new String(“abc“);这句话创建了几个字符串对象?

首先&#xff0c;我们来聊聊Java中的字符串&#xff08;String&#xff09;。在Java里&#xff0c;字符串是不可变的&#xff0c;也就是说&#xff0c;一旦我们创建了一个字符串&#xff0c;它的值就不能更改了。这涉及到几个核心概念&#xff1a; 字符串常量池&#xff1a;这是…