【Tools】Git和VS Code配置

news2024/12/23 9:57:38

文章目录

  • 0 前期教程
  • 1 前言
  • 2 基本使用
    • 2.1 配置
    • 2.2 获取帮助
  • 3 GitHub仓库和git
    • 3.1 新建一个GitHub仓库
    • 3.2 删除一个仓库(repository)
    • 3.3 上传项目代码
  • 4 git常用指令
    • 4.1 创建分支
    • 4.2 合并分支
    • 4.3 在git提交记录上移动
    • 4.4 撤销变更
    • 4.5 整理提交记录
  • 5 在VS Code上使用git
    • 5.1 添加到暂存区
    • 5.2 commit的时候要在输入框中添加消息
    • 5.3 远程推送(同步)
  • 6 常见报错信息
    • 6.1 git Recv failure: Connection was reset
    • 6.2 Error in the HTTP2 framing layer

0 前期教程

  • 【Tools】Git学习

1 前言

  关于Git,由于本人确实没有特别的需求,因此也一直没有使用这个十分强大的工具。但是随着GitHub使用的频次增加,我对git的兴趣也就越强烈,因此想结合GitHub网站和VS Code这个常用的编辑器来总结一篇git的使用教程。
  指令实践部分参考自前期教程中的一个实操网站。

2 基本使用

2.1 配置

  在第一次使用前,一般需要先进行初始化的设置

  • 设置基本配置
git config --global user.name "Zoey"
git config --global user.email 123456@qq.com

注意,这里的用户名要以GitHub网站的网址为准,邮箱则是注册邮箱。

  • 查看所有配置
git config --list/-l #查看所有设置项
git config --list --show-origin #查看所有设置项及其对应的文件
git config usr.name  #查看某个设置
  • 删除某个配置
git config --global --unset user.name

2.2 获取帮助

  当我们不知道一个命令怎么使用时,最佳的方式就是通过自带的帮助命令来获取对应的参数。

  • 获取全面的帮助文档和手册
git help <verb> #<verb>为需要查询的指令
  • 获取简要的帮助信息
git <verb> -h #获取某个指令的帮助信息

3 GitHub仓库和git

  git本质上是一个版本管理系统,而GitHub相当于是一个共享的网盘,它用来存放开发人员上传的代码。因此,使用git一般来说都得结合GitHub一起使用。

3.1 新建一个GitHub仓库

  登录GitHub账号,在repositories中点击New,可以新建一个仓库,然后设置一些参数即可,非常简单。

在这里插入图片描述

  新建好的项目一般是空的,最多会有一个readme文件,然后重点是看一下它给出的提示,如下图所示。

在这里插入图片描述

3.2 删除一个仓库(repository)

参考链接

在仓库首页找到Settings

在这里插入图片描述

然后一直向下滚动,找到Danger Zone

在这里插入图片描述

即可删除某个仓库。

3.3 上传项目代码

  一般来说,项目代码上传到自己建立的一个仓库中,要经历以下步骤:

# 1 在项目文件夹中初始化git,生成一个.git文件夹
git init

# 2 关联远程仓库
git remote add origin <link.git> #link即为仓库的网址

# 3 添加被追踪的文件 / 删除被追踪的文件
git add
git rm

# 4 提交到本地仓库
git commit -m "<message>" 

# 5 远程推送
git push origin <branch_name>

这里面似乎存在一个问题?那就是我们只设置了用户名和邮箱,似乎还没有设置密码?关于这个是会在你关联远程仓库时即需要登录,使得本设备被信任。这个过程只需要执行一次即可。

4 git常用指令

4.1 创建分支

git checkout <branch> #切换分支
git checkout -b <branch> #创建分支同时切换到那个分支上
# 新版git也可以使用
git switch 

在这里插入图片描述

4.2 合并分支

如果我们有两个分支,然后分别具有一次独立的提交,比如两个人同时开发不同的功能,然后修改了一些代码,这样就可以通过合并分支来实现将不同的修改整合到一起。

git merge bugFix

实现的效果如下
在这里插入图片描述

合并分支的另一种操作rebase

在这里插入图片描述

git rebase main
即在main分支后生成一个合并的分支

在这里插入图片描述
原C3分支仍然存在,但是
这样使得提交记录更加线性,然后可以切换到main分支上,再次执行git rebase bugFix,结果如下

在这里插入图片描述

4.3 在git提交记录上移动

可以使用哈希值进行移动,但是这样会很不方便,因此常用相对引用。
使用 ^ 向上移动 1 个提交记录
使用 ~<num> 向上移动多个提交记录,如 ~3

在这里插入图片描述

git checkout main^

HEAD移动到上一个父节点。

同时,HEAD也可以作为相对引用,

git checkout HEAD^,即HEAD自动向上一级父节点移动。

分离HEAD状态

git checkout HEAD~4

HEAD向上移动四次

在这里插入图片描述

git branch -f main HEAD~3

强制切换main分支到某个位置
在这里插入图片描述

4.4 撤销变更

git reset HEAD~1

在这里插入图片描述
在这里插入图片描述

原C2所做更改还在,但是处于未加入暂存区的状态。

撤销变更的另一种方式:git revert
git reset对于本地仓库操作非常简便,但是对远程仓库的分支是无效的,想要实现撤销更改并将其分享给其他协作人员,可以使用git revert的命令

git revert HEAD #撤销上一次的提交

在这里插入图片描述

在这里插入图片描述

这个本质上是再次提交,它提交的更改实际上是恢复原更改的一次提交,这样实现了远程的同步。

4.5 整理提交记录

git cherry-pick

在这里插入图片描述

执行git cherry-pick C2 C4后变成以下状态:

在这里插入图片描述
注意,这里只能使用哈希值,即圆圈内对应的C1 C2

此外,还可以使用交互式rebase来整理提交记录,其代码为

git rebase -i HEAD~4 #整理当前分支的前4个提交记录

执行这个指令会弹出一个UI界面,可以用鼠标拖动来手动调整顺序。

5 在VS Code上使用git

官方参考链接

5.1 添加到暂存区

在这里插入图片描述

5.2 commit的时候要在输入框中添加消息

在这里插入图片描述

5.3 远程推送(同步)

在这里插入图片描述

6 常见报错信息

6.1 git Recv failure: Connection was reset

移除旧的origin :git remote remove origin
再重新建立新的origin : git remote add origin http://github.com/×××
重新push就可以了

参考链接

6.2 Error in the HTTP2 framing layer

  关闭VPN,同时重置https的代理。

git config --global --unset http.proxy
git config --global --unset https.proxy

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

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

相关文章

蓝桥杯 stm32 DAC

文章代码使用 HAL 库。 文章目录前言一、根据手册了解 DAC 重要特性 :二、CubeMX 创建工程&#xff1a;三、DAC 代码&#xff1a;1. 设置DAC输出值函数。2. 开启DAC输出函数。3. DAC 输出电压。总结前言 DAC 就是 数字模拟信号转换器 &#xff0c;也就是把 数字信号转变成模拟…

实施MES系统前,先想清楚首先用来解决什么问题

MES系统首先用来解决什么问题&#xff1f; 很多人会自然而然地认为&#xff0c;MES系统是用来解决管理问题的&#xff0c;是为了明确管理流程的&#xff0c;是为了建立管控标准的…… 甲方会有很多很多想解决的问题&#xff0c;甚至在系统导入过程中&#xff0c;各个部门也会…

vue中安装与引用echarts示例

第002个点击查看专栏目录Echarts发展到现在&#xff0c;已经陆续经过了很多版本&#xff0c;越来越完善&#xff0c;现在主要研究5.0以上的功能。这里是介绍在vue项目中&#xff0c;如果全局或者局部引用echarts&#xff0c;对项目初装echarts会起到非常大的帮助。 NPM 安装 E…

电脑文件如何自动备份?

电脑文件如何自动备份&#xff1f;计算机的出现是人类科技发展的重要标志&#xff0c;电脑已经成为我们工作、生活以及学习中必不可少的工具&#xff0c;尤其是在工作中的应用&#xff0c;它改变了以前传统的工作方式。电脑的使用给我们带来极大方便的同时&#xff0c;也带来了…

mPEG-SS-NH2 ;mPEG-SS-Amine;甲氧基聚乙二醇-双硫键-氨基-科研用试剂简介

mPEG-SS-NH2 甲氧基聚乙二醇-双硫键-氨基 英文名称&#xff1a;mPEG-SS-NH2 英文别名&#xff1a;mPEG-SS-Amine 存储条件&#xff1a;-20C&#xff0c;避光&#xff0c;避湿 用 途&#xff1a;仅供科研实验使用&#xff0c;不用于诊治 外观: 固体或粘性液体&#xff0c;取…

3D渲染优化入【Three.js】

Three.js 应用程序以每秒 60 帧 (FPS) 的速度执行 3D 渲染是流畅和愉快体验的保证。 然而&#xff0c;这是一个有时难以实现的目标&#xff01;本文整理了优化 Three.js 应用程序和达到 60 FPS 的最佳提示和技巧&#xff01; 推荐&#xff1a;使用 NSDT场景编辑器 快速搭建 3D…

Day13【元宇宙的实践构想02】—— 元宇宙与沉浸式交互技术介绍、支撑开发与应用

&#x1f483;&#x1f3fc; 本人简介&#xff1a;男 &#x1f476;&#x1f3fc; 年龄&#xff1a;18 ✍今日内容&#xff1a;《元宇宙的实践构想》02——元宇宙与沉浸式交互技术 &#x1f6a9; 今日留言&#xff1a;亮亮被迫去练科目二啦&#xff0c;定时发布的文章&#xff…

鉴源论坛 · 观通丨联锁系统原理浅析

作者 |刘艳青 上海控安安全测评中心安全测评部测试经理 版块 | 鉴源论坛 观通 01 联锁系统的硬件结构 根据联锁系统的层级关系&#xff0c;联锁系统的硬件层级可以分为4层&#xff1a;人机会话层、联锁层、接口层、室外设备层。 图1 联锁系统的硬件结构 02 联锁系统的软件结…

误删照片音视频文件不要担心 几种方法解救慌乱的你

误删照片音视频文件不要担心 几种方法解救慌乱的你 推荐的几款软件涵盖了大量的恢复方式,手机如果刷机或者损坏找回的几率会越低 免费软件获取方式关注公众号回复8585 更多软件获取方式点我 方法1&#xff1a;从手机相册中恢复手机删除的照片 这里以vivo手机为例,其他手机也是差…

C/C++ Linux Socket网络编程

之前已经学习了QT的socket编程 和 C/C在window环境的socket编程&#xff0c;现在再来学习一波C/C在Linux环境下的socket编程&#xff0c;为以后学习C Linux 服务器开发做准备。 目录 一、Socket简介 二、Socket编程基础 1. 网络字节序 2. sockaddr数据结构 3. IP地址转换函数…

新C++(5):异常

"山&#xff0c;请你慢些走向我呀~"一、异常初始每当我们使用传统C写一些诸如malloc\realloc,或者不允许传入的参数为空(nullptr)时&#xff0c;我们时长会加一个断言(assert),一旦条件为false立即终止程序&#xff0c;不仅如此&#xff0c;当申请的空间够大&#xf…

二叉树:二叉树的最近公共祖先

二叉树的最近公共祖先 文章目录一、题目描述二、解题思路三、代码解析一、题目描述 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个节点 p、q&#xff0c;最近公共祖先表示为一个节点 x&#xff0c…

Vue实现下载文件而非浏览器直接打开

问题背景 对于一个txt文本、图片、视频、音频等浏览器可以直接使用浏览器进行预览的文件&#xff0c; 使用传统的a标签加download属性进行下载是行不通的&#xff0c;会在浏览器直接打开&#xff0c;因此需要搞一个新的方式进行下载。 实现流程 实现思路 这里使用Vue自定义…

ElasticSearch从入门到出门【中】

文章目录DSL查询文档DSL查询分类全文检索查询使用场景基本语法示例精准查询term查询range查询地理坐标查询矩形范围查询附近查询复合查询相关性算分算分函数查询布尔查询搜索结果处理排序普通字段排序地理坐标排序分页基本的分页深度分页问题高亮高亮原理实现高亮RestClient查询…

档案数据智能采集工厂模型设计与实现

档案信息化从业人员肯定对异构系统数据采集过程中碰到的各种问题深有体会&#xff0c;有源系统供应商不配合的&#xff1b;数据接口不开放的&#xff1b;归档数据不符合规范的&#xff1b;数据敏感不提供的&#xff1b;等等&#xff1b;不一而足。但不幸的是档案信息系统处于政…

C 语言零基础入门教程(二十二)

C 错误处理 C 语言不提供对错误处理的直接支持&#xff0c;但是作为一种系统编程语言&#xff0c;它以返回值的形式允许您访问底层数据。在发生错误时&#xff0c;大多数的 C 或 UNIX 函数调用返回 1 或 NULL&#xff0c;同时会设置一个错误代码 errno&#xff0c;该错误代码是…

VS2017编译c dll的方法-编译bsio

VS2017编译c dll 有三种方法 &#xff08;1&#xff09;.h和.c文件函数增加 __declspec(dllexport) &#xff08;2&#xff09;仅在.h函数添加__declspec(dllexport) &#xff08;3&#xff09;使用.def文件&#xff0c;不用在.h和.c文件的函数前增加__declspec(dllexport) …

【数据结构初阶】顺序表的实现(文末附原码)

⭐博客主页&#xff1a;️CS semi主页 ⭐欢迎关注&#xff1a;点赞收藏留言 ⭐系列专栏&#xff1a;数据结构初阶 ⭐代码仓库&#xff1a;Data Structure 家人们更新不易&#xff0c;你们的点赞和关注对我而言十分重要&#xff0c;友友们麻烦多多点赞&#xff0b;关注&#xff…

基于C讲解协程设计原理

协程设计原理 背景 以epoll处理fd为例&#xff1a; func () {while (1) {epoll_wait();for(;;) {recv();send();}} }在IO操作较为密集的情况下&#xff08;网络IO和磁盘IO操作多&#xff0c;CPU计算少&#xff09;&#xff0c;由于检测到IO事件后&#xff0c;需要进行同步的…

美颜sdk动态贴纸是什么?

美颜sdk如今已经成了广大视频拍摄平台的刚需&#xff0c;用户们也习惯了这种新颖的拍摄形式&#xff0c;原相机被无情“打入冷宫”&#xff0c;特别是短视频和直播平台中&#xff0c;绝大部分用户都在使用美颜sdk的趣味功能进行拍摄&#xff0c;“动态贴纸”就是一个非常好的例…