Git & Github 的使用(配合VSCode)

2023-10-26

1.git 和 vscode 环境管理:

git下载位置:根据自己的电脑配置进行下载即可:Git - Downloads

比如我的是linux(ubuntu)那么我就选择Linux,并在命令行下敲下来这个:

下载完git后,可以在终端上输入命令: git version 有输出对应的装载的git版本说明安装成功

然后打开vscode吧,以后的操作大多数都是要在vscode中执行的,反正vscode也可以使用终端:

在vscode中打开终端的方法如下:点击终端, 点击新建终端,就会在界面底部出现嵌入到vscode中的终端窗口

如下图所示,新建了一个终端,然后再在这个新的vscode终端中试一下 git version 命令吧:

然后新建一个文件夹:我的文件夹命名为了"git尝试",在vscode中打开这个文件夹,接下来我们的操作会在这里执行

由于git是一个分支管理工具,所以必须明确每次的修改和提交都是谁提供的 ,所以,根据这篇Git 安装配置 | 菜鸟教程 建立了自己的config,对应的用户名和邮箱(与github一致不一致都可以,反正也可以重新设置)

利用 git config –list 命令看下设置的名字和邮箱行不行,没问题的话继续:(我的输出如下:)

 在当前目录下输入 git init 命令,就会在当前文件夹的目录下生成一个名字为.git的隐藏文件夹,这个文件夹会保存我们文件的每个git版本的记录和变化

git init 命令执行后,终端输出如下:)

 我们打开文件夹,查看到,新生成的隐藏文件夹.git内容如下:

2.提交git,提交每次git的commit

初始化之后,我们在git尝试文件夹下面建立一个test.txt文件,并写入一些内容

虽然我们现在在“git尝试“文件夹中确实存在了一个刚刚新建的test.txt文件,但,test.txt其实还没有被记录到git的提交记录中

要使用git add 命令,将文件加入到git版本控制系统中,命令后面要加文件名,如git add test.txt

(下图为两次提交,其中当前文件夹下有test.txt于是成功提交,但当前文件夹中没有ttt.txt,所以提交失败,终端返回fatal(意思应该就是错误,直译是”致命”))

将test.txt文件add到git系统中后,.git文件夹中立即多了一个index的二进制文件

 

注意 git add 命令只是暂时保存,还不会保存提交记录,还要使用git commit命令,用于将刚才(由git add XXX)暂时保存的文件修改提交为一个固定的版本并保存

当键入git commit 命令时,.git文件夹中出现了一些新的内容:

 

(其中index文件加锁,并多出了COMMIT_EDITMSG和.COMMIT_EDITMSG.swp文件)

至于各个文件都是什么含义,这个介绍的很详细了:解析.git文件夹,深入了解git内部原理 - 掘金

然后贴一张上述博客最后对于各个文件夹对应含义的截图 :

大致了解完各个文件夹都是啥,有什么作用后(其实不了解,之后慢慢了解也没啥问题)

继续我们对于文件修改后的提交:

现在,我们已经将新建的test.txt文件git add 暂存完毕,并且键入git commit 命令,这条命令的目的是将刚刚暂存的更改提交(正式写入到)git的版本管理中

键入git commit 命令后,vscode会弹出一个叫nano的编辑器来要求你填写提交说明(git commit)

(下图所示即为弹出的nano编辑器,上面还给了点注释和快捷键参考,其中,”^” 对应 “ctrl” )

【这一点与视频:git、github 保姆级教程入门,工作和协作必备技术,github提交pr - pull request_哔哩哔哩_bilibili中提到VSCode弹出的是vim编辑器不同,因为这个链接的视频可能和我的VSCode版本不同所以弹出的编辑器有一点不同】

nano编辑器的用法在官网上,很直观了,官网网址如下:https://linuxize.com/post/how-to-use-nano-text-editor/

nano的几个常见的用法:

首先不同于vim的模式编辑,nano可以直接编辑信息,在编辑信息后,想保存并退出nano,按“ctrl+o”。 如果这个文件之前不存在,那么当你保存并推出nano时这个文件自动建立。

若只是想退出nano编辑器,则可以按”ctrl+x”,若进行了改动但是未保存,则会提醒是否要保存这些改动.

【当然,可以选择通过修改vscode配置将编辑器由nano修改为vim,

如博客所示: 修改git默认的编辑器nano为vim的方法_桁桁8道的博客-CSDN博客_git nano vim

 我们假设不更改编辑器,继续使用nano,那么,输入git commit 命令后,进入nano编辑器,我们写入了此次更新的总结(即,commit log ,commit log目的是之后版本管理的时候可以一眼看出每个版本都改动了啥),作为示例,我在nano编辑器中写入:“第一版本”作为此次更新的commit log 信息。(如下图所示)

然后键入“ctrl+o”命令,保存对COMMIT_EDITMSG文件的修改并返回,于是进入如下界面,nano确认我们要写入的文件名字:

选择”确认”,因为我们确实是要往COMMIT_EDITMSG文件里写,于是直接回车(enter键),返回到下图所示的界面: 

此时由于我们的修改都已经提交了,所以直接键入“ctrl+x” 离开该界面就可以了,离开界面后,终端提示,commit提交成功,如下图所示: 

 输入git log 命令确认一下 : (如下图所示,终端上就是上述所有的命令,及对应的输出)

于是,至此,完成了一次版本的提交。


【NOTE】版本的提交有很多的方式,上述是最朴素的方式,接下来一一演示快捷版:

快捷操作一:git add .

刚刚的演示中,我们只对一个文件进行修改于是每次的提交只需要git add 后接一个文件就可以了,但当我们一次修改了多个文件时,这样的写法显然不够快捷,解决措施是将add命令改为:“ git add .

这样,一次就可以将前文件夹中所有的文件都加入到暂时保存中,方便接下来的commit提交存储到新的一个版本中

(下图为该语句的演示,我们提交第二版本,但是采用git add . 命令 对当前文件夹中的所有都临时保存方便commit)

键入 ctrl+o

 回车

键入”ctrl+x” 返回,看到终端显示此次的提交修改了啥

键入”git log”验证一下

快捷操作二:git commit -m “XXXXX

我们还可以更加简化这一过程,通过使用” git commit -m “XXXXX” ”命令,就可以跳过nano编辑器直接将git commit附带到提交上,只需要将上述命令中的“XXXXX”环城你想标注的这次提交的commit内容即可,如下图所示:

然后再次git log 检查一下,确认提交和提交commit均已存在 

大部分人都会采用上述的方式提交commit,毕竟比较方便嘛

 VSCode也有可视化的提交方式:

 当我们对文件进行新增时,会在新增的部分由绿色标注,如下图所示的红框,因为们添加了一行”55555555”,所以,对应行被标绿色。同样的,还有标蓝为对该行进行修改等等

然后,我们点击左侧栏的分支按钮,如下图红箭头所示例:

 它显示我们有一个未提交的更改,点击下图所指的文件,会显示原始文件和这一次我们的修改过后的文件的对比(在两个个窗口上,如下图所示,的对比)

 点击下图所示的(1)操作,即提交按钮,然后弹出对话框(2)询问是否要将当前没有咱村的更改咱村并提交,因为刚刚我们没有git add . ,所以没有暂存。现在这一步骤就是可视化地把暂存和提交合并了,所以选择“是”

 然后vscode会在上翻弹出对话框要求你输入此次提交的commit,将git commit 的内容输入即可

我输入的是:“第五次提交”,如下图所示:

然后按回车,这一次的提交就结束了,那么:

 用git log 命令验证一下: 如下图所示(多出来的第四次提交是我自己在尝试命令,没啥用,也就没截图,忽略掉就行)

 PS :有个叫Git History Diff 的插件,可以看所有提交的历史版本,等等,可以试一试



基于第2节我们讲述的git,和git log中的记录,那现在我们有很多的历史版本提交记录,但是我想要选择之前的某个版本怎么办呢

有两种选择,第一种是输入命令git log 后,得到想要返回的版本的commitid

就是下图圈出来的红框部分:

 然后键入 “git reset –hard XXXXX” 就可以回退到对应想要的版本了。

我们在执行了该命令后,可以看到我们的内容也回退到了第四次提交的版本,然后对应修改的内容旁边还有注释告诉我们是谁修改的,还有个修改时间(3小时前),如下图所示:

 但,这也有个问题,由于我们在git reset 命令中参数选择了hard 模式,所以是覆盖式的回退,因此,这导致我们回退到的版本确实是回退成功了,但是,该版本之后的所有历史版本都消失不见了。例如,我们 现在再次尝试git log 会发现只剩下到第四次提交之前的版本,第四次提交之后的版本都被覆盖了

 那有没有不覆盖但是可以任意切换各个版本的方法呢,有的:就是第二种方式,用分支,也就是常说的branch



3. 利用分支branch进行版本管理

首先我们有一个文件夹作为工作文件夹,命名为”git尝试”,在VSCode中打开它,并且打开终端,如下图所示:

然后建立git目录,我们通过git init命令,初始化建立了一个master分支

如下图红框圈出来的地方现在出现了一个master分支:

 如果想多个版本切换,则需要掌握以下几个命令:

1. git branch :列出当下分支目录

最初我们通过init命令,初始化建立了一个master分支,所以,当我们没有新建立分支时,我们只有一个master分支,并且此分支也是当前分支

 

2. git branch XXXX :新建立分支

我们想要手动新建立一个分支,命令为 “git branch XXXX” (其中,XXXX就是新分支的名字)

如下图所示,我建立了一个名字为version1910的新分支,然后由于当前我还处于master分支下,所以当我再次使用git branch 命令查看分支目录时,*还在master处,表明当前我们还在master分支上,但是已经将version1910分支建立出来了

 

 3. git checkout XXXX : 更换分支

当我们想在不同的分支下进行操作时,需要现切换到该分支上才可以进行下一步的操作:

更换分支的命令为:“ git checkout XXXX ” (XXXX即为要更换分支的名字)

例如,我们想向version1910分支中增加一个新文件1910.txt,那么首先我们需要将分支从当前的master更换为version1910,而后向当前的分支(即version1910分支)中增加新文件1910.txt

如下图所示,更换分支成功,终端返回如下:

接着,在VSCode中,可视化操作建立一个新文件1910.txt ,如下图所示(就和平时正常在本地文件夹中建立新文件一样的操作)

使用git add . 和 git commit -m “XXXX”命令对当前目录下的所有文件(即test.txt和1910.txt提交到version1910分支上去)

然后,可以利用命令“ ls” 查看当前分支上的内容 ,如下图所示:

很明显,version1910分支中包含了这两个文件,提交成功。

但是,1910.txt我只是在version1910上提交的,此时的master分支上应该是不存在1910.txt文件爱你的,于是我们转换分支再次查看一下:(以下为上述所有命令的总体截图)

利用”ls” 命令,确认了在master分支上没有1910.txt文件

4. git merge XXX : 合并分支 

合并分支是:将其他分支 合并到 当前分支中

合并分支的命令为:”git merge XXX” (XXX为要merge的branch名字)

git merge XXX” 命令的目的是,将XXX分支合并到当前分支中

比如下图所示,我新建了一个version1930分支,此时的该分支什么都没有。利用git branch 命令验证建立分支成功,并且此时处于master分支中。转换分支到version1930分支,因为我想将master分支合并到version1930分支中,所以操作一定得在当前分支中,即在version1930分支中进行,于是git checkout 到version1930分支中。然后利用merge命令,进行合并,然后利用”ls”命令查看当前分支中的文件内容,确认合并成功。

上述的步骤命令和对应终端输出如下图所示:

但确实,很少有人合并的时候是把master分支合并到其他分支上的。上述这个例子就是为了说明,虽然这种行为有点怪,但是,是可以的。

5. git branch -d XXX : 删除分支

删除分支时注意,一定不能是当前所处分支即为要删除的分支(eg,不能在version1910分支下删除掉version1910分支)

把分支已经合并之后原来的分支就可以删去了,所用到的命令为:“git branch -d XXX” (XXX为要被删除的分支)

由于一般不会选择删除master分支,所以我选择把version1910分支合并到master分支上,并且删除version1910分支:先切换分支目录到master,然后merge。merge成功后用ls命令确认merge成功,然后删除version1910分支。再次git branch确认分支目录

上述的步骤命令和对应终端输出如下图所示:

 总结一下注意事项:【很重要!】

每当我们采用git init命令进行初始化时,会出现一个master分支

然后,我们可以选择新建分支,在新建分支时要注意我们是在哪个分支目录下新建的分支。因为,在A 分支下新建分支B,新建的分支B 就相当于A分支的一个副本,A和B 的内容完全一致:比如,此时我们在master分支下新建了一个叫m1的分支,那么m1分支此时的内容和master分支此时的内容完全一致,相当于此时的m1分支是master分支的一个副本。

进一步,我们会考虑,那对A分支中的内容进行改动(无论是对已有文件的改动还是新建或删除文件)会对B分支会产生影响么?答案是否定的。A B分支的关系仅是 A分支 在创建 B分支 时,B作为 A 的副本,但是这两者对应的存储位置完全不同。也就是说,A分支 对分支内的任何操作都无法影响到 B分支 的内容,同样,B分支 对分支内的任何操作都无法影响到 A分支 的内容。

以上的结论我自己实验测试过,方法如下:首先我们通过 init 拥有了master 分支,然后向master分支中添加一个新文件叫mastertt.txt,然后add commit 。然后在master分支下,新建一个branchm1分支。切换到branchm1分支,用ls确认此时branchm1分支下的内容和master分支内容一模一样。然后,在branchm1分支下,新建一个名字为branchm1tt.txt的文件,add commit 。 然后在branchm1分支下 新建branch1a分支。切换到branch1a分支, 用ls确认此时branch1a分支下的内容和branchm1分支内容一模一样,即都有mastertt.txt和branchm1tt.txt文件。此时,切换到branchm1分支,对mastertt.txt文件进行修改,然后切换到master文件,查看到master分支下的mastertt.txt文件并没有被修改-->这证明从A分支下建立的B分支上的修改无法影响到A分支内容。而后,切换到branch1a分支,发现,branch1a分支下的mastertt.txr文件也没有被修改->这证明在A分支下建立的B分支,即使A分支作修改也无法影响到B分支内容。


ref :

1. git、github 保姆级教程入门,工作和协作必备技术,github提交pr - pull request_哔哩哔哩_bilibili

 2.

Git 教程 | 菜鸟教程

3. 如何将代码上传到github上同步 !!

 使用vscode编辑和提交github仓库代码_Xavier Jiezou的博客-CSDN博客

4. 如何在GitHub中上传图片-----简单易行,步骤超清晰

如何在GitHub中上传图片-----简单易行,步骤超清晰__奶酪的博客-CSDN博客_github 图片

5.  GitHub · 如何创建文件夹

 GitHub · 如何创建文件夹_Mr_Duoduo的博客-CSDN博客_github 文件夹

6. github—如何在README.md文件中添加图片

github—如何在README.md文件中添加图片-阿里云开发者社区

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Git & Github 的使用(配合VSCode) 的相关文章

  • 来自外部 .diff 文件的交互式补丁

    Linux 是否有命令或程序允许交互式地修补源代码 在屏幕上打印每个块并在将其应用到文件之前等待确认 就像是git add p 但是从另一个 diff 文件中进行更改 您始终可以在 shell ruby python 中编写脚本 逐行读取该
  • Git“预接收”挂钩和“git-clang-format”脚本可以可靠地拒绝违反代码风格约定的推送

    让我们立即从一个片段开始pre receive我已经写过的钩子 bin sh format bold 033 1m format red 033 31m format yellow 033 33m format normal 033 0m
  • 如何在 github 提交中设置用户名别名?

    我刚刚在大学读完一个学期 决定将我的所有项目从 bitbucket 我的课程所需 导入到 github 我所有其他项目都在其中 我成功导入了它们 不幸的是 当我从事这些项目时 我在三台不同的计算机之间切换 因此 提交历史记录中有许多我自己所
  • 如何解决22端口连接超时问题

    ssh connect to host bitbucket org port 22 Connection timed out fatal Could not read from remote repository Please make s
  • 创建 git 分支并将其合并到史诗分支

    我正在开发一个项目 例如 SO bubbleSort 我需要创建一个名为 feature version 1 的史诗分支 因此从这个史诗分支中很少有开发人员进行开发 因此为此 他们需要创建一个将分支与史诗分支分开 我的问题是我们如何合并这些
  • 规划 git 迁移的存储库布局

    我目前有一个大型 30K 提交 SVN 存储库 正在将其转换为 git 我们的代码库当前拥有一组通用 核心 代码 以及两个独立的基础 Java 和 NET 这使我们能够共享通用代码 并且当我们将构建推送给仅支持两种语言之一的客户时 我们可以
  • 为什么 PS1 不更新 git 分支名称?

    PS1 w git branch grep cut b 3 100 我按上面设置我的 PS1 但在我更改分支后 它不会更新提示中的分支名称git checkout 或使用以下命令更改存储库cd 如何解决这个问题 当反引号引用位被评估时PS1
  • 在heroku上部署git子目录

    我必须从非主分支部署 git 子目录 我看过这个答案 https stackoverflow com questions 7539382 how can i deploy from a git subdirectory and to Her
  • 如何分叉我自己的 GitHub 存储库?

    所以 Git 的完全新手 阅读了指南 认为我已经具备了基础知识 但在实现这一目标时遇到了困难 我为我的通用标记源代码创建了一个存储库 只是我每次突破时都会重复使用的东西 它被称为markupDNA git 我想在我的 mac 站点目录中有不
  • 为什么我无法使用 git push origin :branchname 删除远程 git 分支?

    当我尝试推送到远程 git 分支以删除它时git push origin branchname我收到以下错误消息 错误 无法推送到不合格的目的地 remotes origin branchname 目标引用规范既不匹配远程上的现有引用 也不
  • Subversion:暂存文件以显式提交?

    我已经非常习惯 git 的方式 即必须接触要提交的每个文件 并且在执行此操作时仔细检查差异 现在在工作中我必须使用 svn 并且我总是不小心提交一些东西 有没有办法让 subversion 的行为像 git 一样 因为我必须明确告诉每个文件
  • 如何修复 git 中的“警告:忽略名称损坏的引用”?

    我正在 OSX 上工作 在特定的存储库中 每当我在输入 git 命令后按 Tab 键自动完成 git diff clicks tab 我现在看到大量警告 warning ignoring ref with broken name refs
  • 2017 年在 OS X 上从源代码构建 Apache Hadoop

    到目前为止 我已经分叉了 Git 存储库 https github com apache hadoop 我一直在寻找有关如何从源代码构建的信息 我尝试过以下命令 mvn package Pdist Dtar DskipTests 这导致了以
  • eGit 合并解决方案 - 使用您的副本

    我对 eGit 还是新手 我正在尝试弄清楚到底如何让 eGit 使用我的副本解决合并冲突 无需任何更改 我指的是 eGit Wiki 上的注释 http wiki eclipse org EGit User Guide Possible m
  • 在 github 推送上将静态站点部署到 s3 的最佳策略? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想自动将我们的网站部署到 AWS S3 我已经编写了一个节点脚本来自动构建和上传网站 但我希望每当m
  • 如何避免获取 .repo/manifest.xml?

    如何避免获取 repo manifest xml 故意修改的 我不想在回购同步期间对其进行修改 我已经做了一个repo init 这一步就完成了 我对manifest xml做了一个小修改 删除了一些同步不需要的项目 当我们进行存储库同步时
  • Git checkout 分支从其他分支留下目录树

    我有一个branch2 其源是branch1 并重命名了源自branch1 的目录 当签出branch1时 重命名的目录仍然存在 但没有标记为未暂存的修改 重命名的目录当然不会作为branch1 上的提交出现 为什么会出现这种情况 上述目录
  • 无法获取 https://gerrit.googlesource.com/git-repo/clone.bundle

    我尝试按照以下说明创建一个 git 存储库 source android com source downloading html installing repo 但是当我尝试在工作目录中初始化存储库时 使用 Ubuntu 出现以下错误 wo
  • 将源代码从 git 迁移到 TFVC

    我们使用的是Visual Studio Online 我们使用TFS的git支持 我们现在想停止使用 git 并使用 TFVC 将源代码迁移到 TFVC 的最佳解决方案是什么 假设您正在 VSO 中创建另一个项目并移动源代码 按照目前的情况
  • 没有工作树就无法使用 Git-Windows-git-pull

    我在 Windows 上遇到与 Git 相关的问题 无法从 git 上的存储库中提取更改 我能够添加 提交和推送我的更改 但不能拉取 它给了我一个错误 致命 C Git libexec git core git pull 不能在没有 工作树

随机推荐

  • centos 网络连接设置

    这里使用虚拟机 VirtualBox 来安装CentOS 6 3 32bit服务器版本 没有安装桌面 作为演示 所以全是命令操作 如何安装CentOS操作系统就不用我说的 虚拟机网络设置为桥接模式 Bridge 单独分配ip 不共享主机ip
  • 致命错误:Rdefines.h:没有那个文件或目录

    致命错误 Rdefines h 没有那个文件或目录 Rdefines h No such file or directory 关键词 CentOS 7 安装rpy2 pip3 install rpy2报错 python3 setup py
  • C#——字符串

    System String类 1 创建字符串 string s abcdefg 2 获取字符串长度 s Length 3 比较字符串是否一样 s abcd 4 字符串连接 s http s 5 使用类似索引器的语法来取得字符串中的某个字符
  • Android常见漏洞

    Android常见漏洞 漏洞名称 Log敏感信息泄露 漏洞描述 程序运行期间打印了用户的敏感信息 造成泄露 修改建议 建议禁止隐私信息的log 漏洞名称 web https校验错误忽略漏洞 漏洞描述 漏洞可导致中间人攻击 修改建议 建议不要
  • JAVA基础练习题

    1 生成两个1 10的随机数 分别作为两个数组的长度 2 向第一个数组中以循环键盘录入的方式添加元素 3 生成1 100之间的随机数 为第二个数组的每个元素赋值 4 将两个数组合并 为一个新的数组 5 去掉新数组的最大值和最小值 求平均值
  • vue之--使用TypeScript

    搭配 TypeScript 使用 Vue 像 TypeScript 这样的类型系统可以在编译时通过静态分析检测出很多常见错误 这减少了生产环境中的运行时错误 也让我们在重构大型项目的时候更有信心 通过 IDE 中基于类型的自动补全 Type
  • C++ 好用的日志库--spdlog

    背景 spdlog 是一个快速 异步的 header only 的 C 日志库 它提供了简单易用的 API 并具有高性能和可扩展性 下载和使用 下载 spdlog 库下载地址 github 链接 hello world 在使用时只需要 in
  • 设计模式:模板方法模式

    定义一个操作中算法的框架 而将一些步骤延迟到子类中 使得子类可以不改变算法的结构即可重定义该算法中的某些特定步骤 类图如下 事实上 模版方法是编程中一个经常用到的模式 先来看一个例子 某日 程序员A拿到一个任务 给定一个整数数组 把数组中的
  • 常用的函数式接口

    1 Supplier接口 仅包含一个无参的方法 T get 用来获取一个泛型参数指定类型的数据 2 Consumer接口 包含抽象方法 void accept T t 正好与Supplier相反 它不是生产一个数据 而是 消费一个数据 其数
  • web安全--环境搭建

    1 搭建环境 下载owasp靶机测试环境 login root password owaspbwa 下载kali linux攻击机也可以使用windows作为攻击机 我的是2020 login kaili password kali 其他版
  • typescript学习(二)——函数

    一 函数的定义 1 函数声明法 规定返回值必须为string类型 function run string return im string 2 匿名函数法 let run function string return im string 没
  • uniapp实现下拉加载更多 u-loadmore

    区别于官网教程 这里总结更为白话 要实现的需求是 比如起初有十条数据 下拉至底部 追加某数量的数据 比如我的项目中 我把它放在了数据展示的底部 上代码
  • 微信支付踩坑记-签名错误,请检查后再试

    注册商户号 使用微信支付功能 直接无脑设置v3密钥 然后配合wxjava这个包进行开发 结果试了很多遍 都报错 最后才发现 我一直使用的v2验证方式 之前都没有设置过v2密钥 最后把v2密钥设置成和v3一样 重新试了一下 解决问题 最后附上
  • Python3学习(六):函数

    Python3 函数 函数是组织好的 可重复使用的 用来实现单一 或相关联功能的代码段 函数能提高应用的模块性 和代码的重复利用率 你已经知道Python提供了许多内建函数 比如print 但你也可以自己创建函数 这被叫做用户自定义函数 可
  • 广度优先算法

    deque 即双端队列 是一种具有队列和栈的性质的数据结构 双端队列中的元素可以从两端弹出 其限定插入和删除操作在表的两端进行 最短路径问题的算法被称为广度优先搜索 广度优先搜索是一种用于图的查找算法 第一类问题 从节点A出发 有前往节点B
  • Pandas 写入 Excel 的几种情形与方式,覆盖,新增,追加,对齐

    Pandas 写入 Excel 的几种情形与方式 覆盖 新增 追加 对齐 以下代码默认已经导入 np pd import numpy as np import pandas as pd 执行下面示例之前 最好先删除 test xlsx 文件
  • 怎样去掉PATH中重复的项目

    在zsh shell 中输入 typeset U path 运行即可
  • IDEA中TDengine数据库连接

    过程描述 首先配置数据库连接信息 下载驱动jar包 配置驱动 Maven Repository com taosdata jdbc taos jdbcdriver mvnrepository com 下载 TDengine Client 安
  • Java web小项目_个人主页(1)—— 云环境搭建与项目部署

    摘自 Java web小项目 个人主页 1 云环境搭建与项目部署 作者 丶PURSUING 发布时间 2021 03 26 23 59 39 网址 https blog csdn net weixin 44742824 article de
  • Git & Github 的使用(配合VSCode)

    1 git 和 vscode 环境管理 git下载位置 根据自己的电脑配置进行下载即可 Git Downloads 比如我的是linux ubuntu 那么我就选择Linux 并在命令行下敲下来这个 下载完git后 可以在终端上输入命令 g