VS Code 中使用Git实践,学会了效率翻倍!

news2024/11/20 19:25:38

本文来一起学习如何在 VS Code 中进行常见的 Git 可视化操作!

前置工作

在介绍如何在 VS Code 中使用 Git 之前,先来介绍一个强悍的 VS Code 插件:Git Extension Pack,它旨在提供一组常用的 Git 工具和功能,以便更方便地进行版本控制和协作开发。该插件包含了多个与 Git 相关的扩展:

  • Git History (git log):可以查看 Git 提交记录、文件或行的历史。通过该扩展,可以快速浏览项目的版本历史,查看每个提交包含的修改内容和作者信息,以及文件和行的详细变更情况。
  • Project Manager:可以方便地在不同项目之间进行切换。这个扩展提供了一个项目管理器,可以轻松地保存和加载不同的项目配置,快速切换工作环境。
  • GitLens:增强了 Visual Studio Code 内置的 Git 功能。它通过行内的 Git 责任注解和代码镜头,更好地了解代码的历史和作者信息。您可以方便地查看每行代码的最后修改者、最近的提交信息,甚至可以直接查看远程仓库上的相关代码片段。
  • gitignore:提供了对 .gitignore 文件的语言支持,让您能够更简单地管理和生成这个文件。同时,还可以从 GitHub 的存储库中获取常见的 .gitignore 文件模板,以便快速忽略项目中不需要跟踪的文件和文件夹。
  • Open in GitHub / Bitbucket / VisualStudio.com:提供了在 GitHub、Bitbucket 或 VisualStudio.com 中直接跳转到代码的功能。通过单击相应的链接,可以快速打开相关代码仓库,并跳转到指定的行号或文件位置。

一个插件囊括了五个热门插件的全部功能!
image.png
安装完成之后,就来看看如何在 VS Code 中可视化使用 Git。

当新打开一个 VS Code 窗口时,需要打开一个项目,可以在本地文件打开项目,也可以直接从远程仓库克隆项目:
image.png
当选择从远程克隆仓库时,输入远程仓库地址,按下回车即可:
image.png
这里可以输入 Git 链接来克隆,可以是 Github、Gitlab、GItee,或者私有部署的 Git 仓库链接。也可以选择从 Github 远程仓库克隆,只需登录 Github,输入查找自己的仓库,然后进行克隆即可。

克隆完成之后,会将文件存储在本地,直接打开即可。

git clone

在 Git 中,分支允许同时处理代码库的多个版本。可以在源代码管理边栏的最下面看到当前所在的分支:
image.png

git branch

如果这个分支没有变动,只会显示一个分支名,如果有修改,分支名的右上角会有一个 *,就像这样:
image.png
要想切换分支,需要点击这个分支名称,就会出现所有分支的列表:
image.png
可以看到,这里面有两类分支,一类是带分支图标的,另一类是带云图标的。前者表示本地分支,后者表示远程分支。点击本地分支,就会切换到对应的分支,点击远程分支,就会远程分支同步到本地,并在本地创建一个同名的分支。

如果想重命名分支,可以执行以下操作:
image.png
点击之后,输入新的分支名即可。

如果分支不需要了,也可以删除分支,不过需要注意,如果想删除某个分支,需要先切换到别的分支。
image.png
点击删除分支,然后选择要删除的分支即可。

git rebase

可以按照以下步骤来执行变基操作:
image.png

git checkout

最上面有两个分支创建操作,第一个是从当前分支创建一个新分支,输入新分支名即可创建。第二个是从指定分支创建一个新分支,需要先选取从哪个分支创建,然后输入新分支名即可:
image.png
如果是使用第一种方式来创建新分支,那当前分支的更改也会带到新分支上。

git merge

如果想要合并分支,可以执行以下操作:
image.png
点击之后,需要选择从哪个分支向当前分支进行合并,选择被合并的分分支即可。

git push

新创建的分支可以点击“发布 Branch”按钮来发布到远程仓库:
image.png
当我们进行代码的修改之后,在源代码管理边栏中可以看到更改的文件:
image.png

  • 如果是删除某个文件,那在更改中显示的文件名上会有一个删除线,并且最后会有一个 D 标志,表示已删除;
  • 如果是修改某个文件,那在更改中显示的文件名最后有个 M 标志,表示已修改,如果这个文件存在代码检查的错误,会在 M 前显示错误的数量,比如上面的 package.json 中就有 1 个错误。
  • 如果是新增一个文件,那在更改中显示的文件名最后有个 U 标志,表示未跟踪的,因为是新增的文件,所以是未跟踪。

git add

如果想暂存所有文件,可以鼠标悬浮在“更改”那一行,并点击后面的 ➕ 即可:
image.png
如果只是想暂存某些文件,可以鼠标悬浮在需要更改的文件名上,并点击后面的 ➕ 即可:
image.png
这个暂存操作就相当于执行 git add 命令。这里暂存其中两个,暂存完之后是这样的:
image.png

git reset

如果想取消更改,只需点击更改后面的撤销按钮(全部撤销)或者文件后面的撤销按钮(撤销单个)即可:
image.png

git commit

对于暂存的文件,可以进行commit 操作。只需在上面的输入框输入commit 信息,然后点击“提交”按钮即可:
image.png
对于未 commit 的文件,也是可以撤销的,只需点击暂存的更改那一行的➖或者需要撤销的文件后面的➖,点完之后,这些文件就会回到更改中,可以继续进行修改:
image.png

git stash

可以看到,无论是更改中,还是在暂存的更改中,都会有一个类似于撤回的按钮,比撤回按钮多了一个➕,这个按钮就是 stash 的意思,也就是把当前的修改暂存起来,然后在需要的时候取出来暂存的内容,以继续进行修改。当我们在开发一个需求过程中,需要紧急去别的分支进行操作,就可以先把已经更改的内容暂存起来,等再回来开发的时候,取出来这些内容,继续开发即可。
image.png
这里我们将暂存的更改和更改都先暂存起来。可以选择弹出最新的(最后一次暂存)暂存,也可以选择性弹出暂存:
image.png
可以看到,VS Code 支持储藏暂存、应用暂存、弹出暂存、删除暂存。这里不再一一介绍。

值的注意是,在源代码管理边栏中,也可以点击最下面的 STASHES 来查看已暂存的文件:
image.png
这里,可以进行应用暂存、删除暂存、修改暂存名称等操作:
image.png

git push

当我们修改完代码之后,就需要推送代码到远程了,可以点击蓝色的同步更改按钮,也可以点击下面分支的更改按钮,来同步更改。
image.png
可以看到蓝色按钮的↑箭头旁边有一个数字,它表示 commit 的数量。如果远程分支比本地分支领先,还有又一个↓箭头,旁边也会有一个数字,表示远程分支比本地分支领先的 commit 数量。

git pull

如果需要从远程分支向本地分支同步代码,可以点击拉取:
image.png

git tag

可以点击创建标记来创建标签:
image.png
当然,也可以在下面的 TAGS 中管理所有标签:
image.png

合并冲突

当合并代码出现冲突时,VS Code 中会显示当前的更改的和传入的更改,可以选择保留其中一个,也可以全部保留:
image.png

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

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

相关文章

四,立方体贴图

Pbr的间接光用到立方体贴图,所以,先用shader进行立方体贴图。 立方体贴图很简单,就是用方向向量(不一定是单位向量)采样cubeMap的颜色。 也就是在片元着色器中传递。 "float x outPos.r;\n" "float y…

前端制作

使用float: left将格子左浮动。 设置格子背景颜色&#xff0c;字体颜色&#xff0c;鼠标放上去后的字体颜色和背景颜色 <style>.title {width: 100%;overflow: hidden;}.title-topic a { /*以下元素应用于topic*/float: left; /*左浮动&#xff0c;让12个格子在…

导数差分近似公式总结

导数差分近似公式总结 生活一路顺风 睿雯 一阶近似 向前差分 -111-21-13-311-46-41 向后差分 -111-21-13-311-46-41 二阶近似 向前差分 -3412-54-1-518-2414-33-1426-2411-2 向后差分 1-43-14-523-1424-185-211-2426-143 中心差分 -1011-21-120-211-46-41 四阶近似 中…

RabbitMQ工作模式——Topics模式

1.Topics通配符模式 *是一个单词&#xff0c;#是0到多个单词 Topics模式生产者代码 public class Producer_Topic {public static void main(String[] args) throws IOException, TimeoutException {//1.创建连接工厂ConnectionFactory factory new ConnectionFactory();//…

Unity制作射击游戏案例01(控制角色+发射子弹+摄像机跟踪)

整理逻辑思路&#xff1a; //【业务逻辑】这个脚本用来1.控制物体移动旋转&#xff08;WASD&#xff09;、 2.发射子弹&#xff08;空格键&#xff09; //【程序逻辑2】 首先检测用户没有按下空格键 2.如果按下呢执行发射子弹函数 3.克隆子弹 4.让克隆的子弹往前跑 搭…

进销存ERP系统源码 基于springboot+vue开发

进销存ERP系统源码 基于springbootvue开发 技术框架 Springboot 2.2.2.RELEASEMyBatis-plus 3.4.2Spring-session-data-redis 2.2.0.RELEASEHuTool 5.7.17Lombok 1.18.10EasyExcel 2.2.10 JDK 1.8Mysql 5.7.18Redis 4.0.8 项目介绍&#xff1a; ERP基于SpringBoot框架&…

智能合约漏洞案例,Palmswap 90 万美元漏洞分析

智能合约漏洞案例&#xff0c;Palmswap 90 万美元漏洞分析 据Safful安全团队情报&#xff0c;2023 年 7 月 25 日&#xff0c;BSC 链上的 Palmswap 项目遭到攻击&#xff0c;攻击者获利超 90 万美元。Safful安全团队介入分析后将结果分享如下&#xff1a; 相关信息 Palmswap …

基于 CPU 在docker 中部署PaddleOCR

1. 拉取镜像 docker pull registry.baidubce.com/paddlepaddle/paddle:2.4.0注&#xff1a;写该文章时&#xff0c;Paddle 最新版本为2.5.1&#xff0c;但是在实际安装中会出现与 PaddleHub 2.3.1版本的冲突&#xff0c;故采用2.4.0版本 2. 构建并进入容器 docker run --name…

conan入门(二十八):解决conan 1.60.0下 arch64-linux-gnu交叉编译openssl/3.1.2报错问题

上一篇博客《conan入门(二十七):因profile [env]字段废弃导致的boost/1.81.0 在aarch64-linux-gnu下交叉编译失败》解决了conan 1.60.0交叉编译boost/1.80.1的问题后&#xff0c;我继续交叉编译openssl/3.1.2时又报错了 conan install openssl/3.1.2 -pr:h aarch64-linux-gnu.…

【运维】docker如何删除所有容器

要删除所有已停止的容器&#xff0c;你可以使用以下命令&#xff1a; docker container prune这个命令将会删除所有已停止的容器&#xff0c;以释放磁盘空间和清理Docker环境。删除前请确保你不需要这些已停止的容器&#xff0c;因为一旦删除&#xff0c;容器数据将不可恢复。…

uniapp:如何修改路由加载条的样式

路由加载条默认是绿色&#xff0c;通过元素选择工具我们可以知道元素的类名是#router-loadding .loadding&#xff0c;具体设置在h5-dom.js文件里。 我们直接在App.vue里对加载样式进行修改即可&#xff0c;如下图&#xff1a; !important一定记得要加&#xff0c;否则不生效&…

BCC源码内容概览(5)

接前一篇文章&#xff1a;BCC源码内容概览&#xff08;4&#xff09; 本文参考官网中的Contents部分的介绍。 BCC源码根目录的文件&#xff0c;其中一些是同时包含C和Python的单个文件&#xff0c;另一些是.c和.py的成对文件&#xff0c;还有一些是目录。 工具&#xff08;To…

从0到1搞定前端性能测试(非常详细)

提到性能测试大家往往会想到多用户使用系统时对服务器后端的性能测试&#xff0c;前端页面的性能往往容易被忽视&#xff0c;但是如果存在性能问题&#xff0c;就算后端服务器性能再好&#xff0c;用户的体验也是极差的。并且随着现在富前端和大前端的流行&#xff0c;前端系统…

基于SpringBoot的在线商城系统设计与实现

目录 前言 一、技术栈 二、系统功能介绍 用户信息管理 商品分类管理 商品信息管理 轮播图管理 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff…

数据增强代码实践,补一点多进程,多线程的知识点

目前最先进的神经网络模型&#xff0c;其本质上也是在利用一系列线性和非线性的函数去拟合目标输出。既然是拟合&#xff0c;当然越多的样本就能获得越准确的结果&#xff0c;这也是为什么现在训练神经网络所使用的数据规模越来越大。 在实际使用中&#xff0c;我们往往可能只…

苹果销量倍增,但iPhone15销量或大跌,中国用户不接受咖喱味

由于印度制造的iPhone15出现质量问题&#xff0c;导致欧洲消费者不接受&#xff0c;由此传出消息指苹果将印度制造的iPhone15完全供应印度市场和中国市场&#xff0c;这已导致中国消费者对它的抗拒&#xff0c;不过这似乎并未影响iPhone15的整体销量。 日前两大电商平台公布的数…

一百八十七、大数据离线数仓完整流程——步骤六、在ClickHouse的ADS层建表并用Kettle同步Hive中DWS层的结果数据

一、目的 经过6个月的奋斗&#xff0c;项目的离线数仓部分终于可以上线了&#xff0c;因此整理一下离线数仓的整个流程&#xff0c;既是大家提供一个案例经验&#xff0c;也是对自己近半年的工作进行一个总结。 二、数仓实施步骤 &#xff08;六&#xff09;步骤六、在Click…

前端关于对象中套用对象传参的小问题

在js的对象是引用类型的&#xff0c;他如果里面还套用对象的话那么通过axios传参给后端就会出现一个问题&#xff0c;就是【object&#xff0c;object】这种包装形式 那么如何来解决这个问题呢&#xff1f; 其实这就是要对数据传输中json格式要有一定的了解才可以解决这个问题…

windows 安装 MySQL 绿色版

windows 安装 MySQL 绿色版 下载 官网&#xff1a; MySQL下载页面&#xff1a; MySQL直接下载链接&#xff1a;https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.34-winx64.zip 安装 将下载的mysql.zip文件解压缩到指定目录 搜索 cmd 并以管理员身份运行 切换到…

详解MySQL索引+面试题

前言: 📕作者简介:热爱编程的小七,致力于C、Java、Python等多编程语言,热爱编程和长板的运动少年! 📘相关专栏Java基础语法,JavaEE初阶,数据库,数据结构和算法系列等,大家有兴趣的可以看一看。 😇😇😇有兴趣的话关注博主一起学习,一起进步吧! 一、索引概述…