vscode操作git

2023-05-16

vscode & git

vscode和git的联合,完美的配合。

本人是一个忠实的vscode使用用户,毕竟他是开源的,使用electron,typescript开发的软件。是免费的,可白嫖的,还有功能强大的插件的,自己也想学习开发的梦想软件。

vscode不仅仅可以敲代码,还可以进行git版本管理。它几乎拥有souretree的所有功能,为啥不用呢?因为说的人很少。

目标:白嫖vscode

把vscode可以白嫖的git常用使用全部白嫖一边。

(本文基于已经安装好了git并且配置好了git的账户)

1、安装插件

  • gitlens:虽然只能用部分功能,但足够了。
  • git history:可以显示提交的commit记录,替代gitlens付费的功能
  • git graph:可以显示提交的commit记录,并进行记录操作。搜索页面没有git history做的好看(仅个人看法哈)
  • git-commit-plugincommit提示(如果公司有自己的模板,可以不需要)

2、建立仓库

这个在github或者gitee,gitlib上面操作。这里暂时只说vscode里面的操作

(github使用物联网打不开😭)

3、链接仓库

A:项目从零开始

  1. 进入项目文件;

  2. 使用git init初始化配置;

  3. 使用各种手段对配置git的提交规范,提交代码规范等等;(等我学会)

  4. 第一次提交代码

  5. 然后如下图

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jFFgpopn-1680676578042)(C:\Users\y\AppData\Roaming\Typora\typora-user-images\image-20230404213812348.png)]

    就可以点击,然后根据框输入仓库地址,然后就可以添加一个仓库

b:参与开发中的项目

  1. 使用命令拉起项目
  2. 然后使用vscode打开项目

4、拉取项目

在上面的图片,已经看到了拉取按钮,点击拉取,就可以拉取项目了。

5、推送项目

在上面的图片,已经看到了推送按钮,点击推送,就可以推送项目了。

(如果没有登录,vscode会提示登录账户的)

6、查看修改区

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ASisFZQX-1680676578043)(C:\Users\y\AppData\Roaming\Typora\typora-user-images\image-20230404214625048.png)]

在这里,可以看到修改的文件

7、提交暂存区

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LiAwJfgl-1680676578043)(C:\Users\y\AppData\Roaming\Typora\typora-user-images\image-20230404214852623.png)]

在鼠标移动到上面的对应位置,可以看见一个加号。

这三个图标分别是,打开文件,撤回修改,添加到暂存区

8、查看暂存区

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7zgl8JFv-1680676578044)(C:\Users\y\AppData\Roaming\Typora\typora-user-images\image-20230404215739460.png)]

此时可以看到暂存的文件,同时看到新的图标减号。其他的都是上面见过的符号

简化就是把暂存区的文件退回到修改区

9、提交文件

有人把这一步叫commit,也有人叫提交到历史区。都是一样的操作。

可以通过上面8的图看到一个输入框和一个提交按钮,输入框就是输入commit的内容。输入完成后点击提交按钮,就完成了代码的commit

10、提交功能

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oKgSjXJm-1680676578044)(C:\Users\y\AppData\Roaming\Typora\typora-user-images\image-20230404220054361.png)]

上图可以看到提交的全部功能

  • 提交:和左边那个大提交按钮功能一样

  • 提交已暂存文件:仅仅提交在暂存区的文件,修改区的不会提交

  • 全部提交:不管是修改区还是暂存区,都会提交

  • 撤销上一次提交:撤销上一次提交,并把代码退回到历史区

  • 提交已暂存文件(修改):

    比如你已经提交过一次,然后你发现commit描述错误,或者你又修改了一些文件想一起提交,就可以使用这个。

  • 全部提交(修改):同上

  • 其他:略(我现在也有点不明白已署名是啥)

11、更改功能

可以看到图10里面有更改菜单,里面功能很简单,就是字面意思。

12、分支操作

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Oe4Z5sfv-1680676578044)(C:\Users\y\AppData\Roaming\Typora\typora-user-images\image-20230404220739039.png)]

切换分支就是点击箭头指的地方,点击后会让选择切换到那个分支。同时也可以进行新分支的创建

然后也看见了分支的常用操作,增删改查合。

13、git存储

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DteV9Ukw-1680676578044)(C:\Users\y\AppData\Roaming\Typora\typora-user-images\image-20230404220941411.png)]

有时候会遇到,开发功能开发到一半,领导让你同步代码。但是你同步后可能会有冲突。所以会很无奈的还原代码。因为自己的代码还没有开发好,也不能直接提交。

所以就需要暂时缓存一下代码

  1. 存储:把当前修改代码缓存到git的缓存区里面,(注意不是暂存区)
  2. 存储(包含未跟踪):未跟踪指的是新创建的文件,还没有被commit记录过
  3. 存储暂存:字面意思,略
  4. 应用最新存储:将最后一次存储的内容,放到修改区
  5. 应用存储:选择历史的某一次存储,放到修改区
  6. 弹出最新存储:和上面”应用最新存储“基本一样
  7. 弹出存储:字面意思,略
  8. 删除存储:选择历史的某一次存储,进行删除
  9. 删除所有存储:删除全部的存储记录

14、commit查看

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Iy7bCVlE-1680676578045)(C:\Users\y\AppData\Roaming\Typora\typora-user-images\image-20230405141444493.png)]

如上图,

  • 点击第一个图标,会打开git history页面,然后可以搜索查看commit记录

  • 点击第二个图标,会打开git graph页面,然后也可以搜索查看commit记录

    以及其他更多的操作

15、重置提交

重置到某一次commit提交

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l2uFmOqo-1680676578045)(C:\Users\y\AppData\Roaming\Typora\typora-user-images\image-20230405142033091.png)]

此时就可以看到reset current branch to this commit,点击后会提示重置的类型。

然后根据需要进行执行,本人用的最多的就是强重置。

16、回滚某一次提交

图15可以看到rebase current branch on this commit,点击后会提示是否回归此次提交的代码

17、查看文件修改记录

在vscode打开需要查看的文件

image-20230405143151066

此时就可以看到当前这个文件修改的所有记录了。

总结

我可以明确并清楚知道功能的几个常用的git操作都在上面了。

  • 提交到暂存区
  • 提交到历史区
  • 补充上一次历史区的提交
  • 修改上一次历史区的提交描述
  • 撤回上一次历史区提交
  • 存储当前修改代码
  • 使用存储的代码
  • 分支的切换,创建,删除
  • 查看commit提交
  • 重置到某次commit提交
  • 回滚某次commit提交
  • 查看单一文件的全部提交记录

创作不易,点赞收藏支持一下吧。😊

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

vscode操作git 的相关文章

  • Git 中的“分支提示”是什么?

    我正在学习 Git 并阅读专业 Git 书籍 https git scm com book en v2 书中和 Stack Overflow 上有时会使用术语 分支提示 但我找不到它的含义 分支提示是分支上的最后一次提交或最近一次提交 基本
  • EGit(Eclipse git 插件)可以使用 SSH 密钥代替用户名和密码吗?

    我需要提交的 git 中央存储库是使用 SSH 密钥配置的 我的用户名是jmglov 但是当我执行 git 操作时 例如git clone 我使用这个配置 jmglov kitiara cat git config remote origi
  • 如何使用 sourceTree 进行推送?

    我正在使用 sourceTree 管理 Unity 项目 版本 4 6 3 我只是想返回到上一次提交 右键选择 将当前分支重置到此提交 在使用模式中选择 硬 然后放回上一次提交 之后 我尝试去推 但没有成功 抱歉 当时我忘记了错误 之后 我
  • Eclipse 与外部 src 和 Web 内容文件夹链接或映射

    首先这不是问题但是我遇到的问题的解决方案浪费了4 5个小时来找到解决方案 请让我知道是否有更好的替代方法来使用 eclipse 项目管理外部 src 文件夹 我正在使用版本控制系统 GIT 来管理我的项目 还使用外部 Git 客户端 Sou
  • ssh 连接超时

    我无法在 git 中 ssh 到 github bitbucket 或 gitlab 我通常会收到以下错误消息 如何避免它 输出 ssh T email protected cdn cgi l email protection i ssh
  • 是否可以在 git 存储库之外添加和提交文件?

    我们的文本文件分布在系统的各个角落 我们计划将这些文件中所做的所有修改添加到 git 存储库中 每次对这些文件进行修改都是由脚本进行的 因此 我们计划向该脚本添加新命令 以将文件添加到 git 存储库 但是 这些修改是同时进行的 我们可以为
  • 如何将 GIT 调用的输出获取到批处理脚本中的变量中?

    我有一个 git 命令来获取当前存储库的最新 SHA 如下所示 git log pretty format H n 1 我有一个 Windows 批处理脚本 我想按如下方式使用它 SET CURRENT SHA 但我不知道如何将从 git
  • 如何禁用 GitHub 中的拉取请求?

    我试图了解如何禁用 github 中的 拉取请求 问题一 我们正在尝试使用变基工作流程 这意味着如果不是快速推进 那么使用拉取请求可能会有害 一种解决方案 为我想要禁用拉取请求的分支设置分支权限 或者将我添加为任何进入 master 的内容
  • 清理远程 Git 分支

    我已经将 SVN 存储库移至 Git 可能由于多次克隆 我现在只剩下一堆看起来像这样的分支 BranchA origin BranchA remotes BranchA remotes origin BranchA remotes orig
  • Jenkins GIT 包含从未构建过的区域

    我正在尝试使用包含区域在 Jenkins 中构建我的工作 但每当选中此选项时 民意调查结果总是说未检测到任何更改 我尝试了许多不同的路径 以及使用工作区进行 不进行强制轮询 结果是轮询从未检测到任何更改 但一旦我删除这些选项 它们就会在下一
  • GitHub Pages (github.io) doxygen 生成的页面未找到 (404)

    我不明白为什么找不到 doxygen 生成的页面 404 它在Github存储库中的路径是https github com AubinMahe AubinMahe github io blob master doxygen html dd
  • TortoiseGit - 更改默认合并消息

    系统描述 Windows 7的 git版本2 10 1 windows 1 乌龟Git 2 3 0 0 I want 合并提交消息在不同的情况下有所不同fully自动方式 no manual amend Summary 在windows上
  • 使用 TFS REST API 获取 Git 提交的最新关联工作项

    我正在尝试获取关联的工作项使用 TFS REST API 进行 GIT 提交 https www visualstudio com en us docs integrate api git commits 我的请求 URL 如下所示 htt
  • Heroku 应用程序上的 Nodejs Express EACCES 0.0.0.0:80

    我正在尝试在他们的网站上新创建的 Heroku 应用程序上运行 Node 应用程序 我按照他们的步骤操作 但在显示应用程序状态时仍然遇到错误 我跟着Node js 入门 https devcenter heroku com articles
  • 检查 Git 中是否需要 pull

    如何检查远程存储库是否已更改并且需要拉取 现在我使用这个简单的脚本 git pull dry run grep q v Already up to date changed 1 但它比较重 有没有更好的办法 理想的解决方案是检查所有远程分支
  • 为什么cherry-pick 告诉我所有行都已更改?

    Updated 考虑文件 abc 在提交 A 和 B 中都相同 begin 123 456 789 klm end 在A中 我们重构第一行123 gt AAA并在结果之上选择 B Git 告诉我们all lines in the file
  • 合并后 Git 分支和提交历史记录

    我正在开发一个项目 单独 对于我开发的每个功能 我都会创建一个新分支 处理该功能 然后将其合并到 master 中 所以通常我不会同时在两个不同的分支上工作 也不会在一个分支上工作时接触master 当我合并一个分支时 我看到 使用gitx
  • Android repo 脚本创建的 .repo/projects/ 中的裸 git 存储库的用途是什么?

    The 安卓源码 http android git kernel org 由以下人员管理repo http source android com source version control html 使用 repo 同步时 一个名为 re
  • 如果您使用 CocoaPods,您的 .gitignore 中会包含什么内容?

    我从事 iOS 开发已经几个月了 刚刚了解到有前途的可可豆荚 http cocoapods org 用于依赖管理的库 我在个人项目上尝试过 添加了依赖项Kiwi https github com allending Kiwi到我的 Podf
  • 结帐时出现 Git 错误:“致命:引用不是树”

    当我决定弄清楚为什么我正在从事的项目如此重要时 这一切就开始了 我运行了以下脚本 git rev list objects all git cat file batch check objecttype objectname objects

随机推荐

  • 电脑双系统即在windows系统与Linux系统中如何设置默认启动系统

    来源 xff08 https www bilibili com read cv5277001 xff09
  • Ubuntu添加/删除PPA源

    一 PPA介绍 PPA xff08 Personal Package Archives xff0c 个人软件包文档 xff09 xff0c 是Ubuntu Launchpad网站提供的一项源服务 xff0c 允许个人用户上传软件源代码 xf
  • 操作系统之进程概念及其组成

    一 进程 在多道程序环境下 xff0c 允许多个程序并发执行 xff0c 此时它们将失去封闭性 xff0c 并具有间断性及不可 再现性的特征 为此引入了进程 Prnccss 的概念 xff0c 以便更好地描述和控制程序的并发执行 xff0c
  • GTSAM中imu预积分及其因子图优化过程

    前言 使用IMU和llidar或者相机进行多传感器融合的slam方案中 xff0c 主要分为紧耦合和松耦合方案 目前 xff0c 主流的方案都是紧耦合的 而紧耦合方案中主要分为基于滤波 xff08 比如 xff0c ESKF xff09 和
  • Python 学习笔记 模块 & 目录遍历 & 包

    一 模块 xff1a 1 概述 xff1a 为了解决维护问题 xff0c 一般情况下 xff0c 在一个完整的项目中 xff0c 会将特定的功能分组 xff0c 分别放到不同的文件中 xff0c 在使用的过程中 xff0c 可以单独维护 x
  • realsense-ros环境配置

    项目场景 xff1a 相机型号RealsenseD435i 环境 xff1a ubuntu1604 xff0c 内核4 15 0 126 generic uname r可查看内核 参考链接 xff1a https github com In
  • realsense相机SDK——librealsense使用方法及bug解决(ubuntu)

    realsense环境配置参考https blog csdn net m0 43436602 article details 110930512 一 librealsense在哪里 xff1f 安装完环境之后 xff0c 可以去根目录下搜一
  • uCOS消息队列相关函数的理解

    OSQCreate xff1a 创建消息队列函数 有四个入口参数 xff1a 消息队列指针 xff1b 消息队列名称 xff1b 消息队列大小 xff08 不能为0 xff09 xff1b 返回错误类型 函数过程 xff1a 首先进行安全检
  • uCOS任务信号量相关函数代码理解

    强调任务信号量思想 xff1a 任务信号量只是一个标志 xff0c 获取成功就是指把信号量计数值减1 xff1b 释放就是指把信号量计数值加1 xff08 溢出则计数值不变 xff09 获取信号量需要判断信号量是否可用 xff08 大于0
  • (二)灰度图像二值化

    灰度图像二值化 一 知识简介 图像二值化 xff08 Image Binarization xff09 就是将图像上的像素点的灰度值设置为0或255 xff0c 也就是将整个图像呈现出明显的黑白效果的过程 在数字图像处理中 xff0c 二值
  • Modbus RS485 设备的串口调试

    Modbus RS485 设备的串口调试 准备Modbus功能码二 使用步骤1 接线2 串口调试 温湿度的计算 准备 硬件设备 xff1a 电脑 RS485 温湿度传感器 RS485 土壤温湿度传感器 RS485 继电器控制模块 TTL转R
  • Linux为什么区分内核空间和用户空间

    程序如果要被CPU执行 xff0c 就得编译成CPU可以执行的指令 xff0c 一大堆的程序就变成了一堆的指令 一个操作系统它也是一堆程序组成的 xff0c 可以想象CPU的指令是很多的 xff0c 但是这么多的指令中 xff0c 有些指令
  • 【Docker】镜像的保存(save)到文件 与 加载(load)到宿主机

    背景 xff1a 我们制作好的镜像会存储在宿主机上 xff0c 那么在迁移的过程中 xff0c 我们应该如何 保存自定义的镜像到宿文件 或 加载自定义的镜像到宿主机呢 xff1f 制作镜像 xff1a docker build t 镜像名
  • 手把手教你学会闭包

    前言 MDN对闭包的解释是这样的 xff1a 一个函数和对其周围状态 xff08 lexical environment xff0c 词法环境 xff09 的引用捆绑在一起 xff08 或者说函数被引用包围 xff09 xff0c 这样的组
  • 从高考到程序员:选择专业三要素:擅长、喜欢、有价值

    参与从高考到程序员征文 xff1a http blog csdn net blogdevteam article details 72917467 从高考到程序员 xff1a 选择专业三要素 xff1a 擅长 喜欢 有价值 选择工作三要素
  • 舍选抽样法

    对于一个随机变量X xff0c 对其直接进行抽样比较困难时 xff0c 我们可以选择一个比较容易产生随机数且逼近f很好的一个分布f y 来对其进行抽样 xff0c 下面以贝塔分布为例进行舍选抽样 ps 实际上 应该是先找了一个f y 使得c
  • 初识STM32工作原理和基础编程

    一 初识STM32如何简单的点亮一个LED灯呢 xff1f 如何用一个按键控制LED灯的点亮与否呢 xff1f 本文将对这些问题做一个比较详细的解答 xff0c 其中还有几个比较经典的例子 xff0c 希望能帮助大家更好的理解STM32的工
  • 结构体为何要进行对齐以及如何对齐

    先说如何对齐 xff0c 再讲讲其背后的原理 对齐规则在网上和书上都很容易找到 无非就是以下几点 规则 1 第一个成员在与结构体变量偏移量为0的地址处 2 其他成员变量要对齐到某个数字 xff08 对齐数 xff09 的整数倍的地址处 对齐
  • 【Android Studio】Build Output输出中文乱码解决方法

    目录 问题 解决办法 修改配置文件 重启AS xff0c 再次触发Build 问题 解决办法 修改配置文件 Help gt Edit Custom VM Options 点击create 打开的配置文件中加入 xff1a Dconsole
  • vscode操作git

    vscode amp git vscode和git的联合 xff0c 完美的配合 本人是一个忠实的vscode使用用户 xff0c 毕竟他是开源的 xff0c 使用electron xff0c typescript开发的软件 是免费的 xf