一文学会VSCode代码同步至GitHub

一、上手GitHub

1. 了解GitHub

上手GItHub之前首先要了解一下GItHub的关键词,如下:

(1) 仓库 (Repository) 仓库是用来存放项目代码,每一项目对应一个仓库。

(2) 收藏 (Star) 收藏别人的仓库,方便自己查找。

(3) 复制/克隆项目 (Fork)。
别人仓库的代码可以克隆到自己的账号下的中,可以对仓库进行更改。自己在仓库中对bug进行更改不会影响原作者的仓库,但可以通过向原作者发起请求 (Pull Request)。Fork也可以理解为分叉。

(4) 关注(Watch)
使用Watch功能关注了其他作者的仓库,如果作者的仓库发生更新,会发送通知到自己的账户上(类似于关注了别人就可以关注别人的动态)。

(5) 事物卡片(Issue)
发现别人的仓库代码出现Bug或有疑问时,可以通过Issue来和代码的作者进行咨询和讨论。然后作者可以收到别人的提问,然后可以回复。回复完成可以关闭当前的Issue。

2. 注册GitHub账号

此处忽略

3. 新建仓库

按以下步骤创建
在这里插入图片描述
点击新建仓库按钮跳转新建仓库页面,如下图
在这里插入图片描述
点击Create repository按钮创建仓库会调整至以下页面
在这里插入图片描述
这里我们点击在仓库中新建一个文件以演示github的使用。
在这里插入图片描述
这里我们在详细备注中输入版本1后点击绿色按钮创建文件,创建成功后将自动跳转至文件页,如下图
在这里插入图片描述
点击刚创建的文件可以对文件进行编辑等操作,以上就是新建仓库的基本操作。

二、Git实操

1. 了解Git

什么是Git?
Git(读音为/gɪt/)是一个开源的[分布式]版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
Git分区有哪些?
(1) 工作区(Working Directory) 添加、编辑、修改文件等操作。

(2) 暂存区(Stage) 暂存已修改的文件,最后会统一提交到Git仓库中。

(3) Git仓库(Git Repository) 最终确定的文件保存到Git仓库成为一个新版本。

2. clone仓库

在从GitHub上克隆资源前,建议新建一个合适的文件夹以存放,这里我在桌面新建一个test文件夹。
在这里插入图片描述
有两种克隆GitHub资源的方式,如下图
在这里插入图片描述
我们这里选择使用git克隆文件。在test文件夹里右键打开git Bash面板
在这里插入图片描述
输入指令git clone "资源链接"后回车在这里插入图片描述
得到上图类似响应结果表示克隆成功。文件夹内会新增克隆下来的仓库,如下图
在这里插入图片描述打开文件夹可以看到有隐藏文件夹.git(记得启动隐藏的项目开关)以及先前在仓库内新建的文件lao.md
打开文件可以看到与仓库中文件完全一致的内容,如下图
在这里插入图片描述

3. 使用Git上传本地更新至远程仓库

在使用git上传更新前需要安装并配置git,如何配置git可以参考以下文章
git使用指南
下图描述了GIt的核心原理
在这里插入图片描述
接着我们回归主题,如何使用GIt将本地的更新上传至远程仓库?
修改文件lao.md
在这里插入图片描述
进入文件test(进入有.git隐藏文件的目录才能上传)输入指令git add '文件名'上传修改过的文件至暂存区,再输入git commit -m "备注信息"将暂存区的文件保存到本地仓库,我们可以使用指令git log查看commit记录,如下
在这里插入图片描述
再使用指令git push将本地仓库的文件上传至远程仓库GitHub。
在这里插入图片描述
打开GItHub的demo仓库中的lao.md可以看到内容和本地文件lao.md成功同步。
在这里插入图片描述

4. 使用Git同步远程仓库值本地文件(工作区)

学会了如何上传本地更新至远程仓库,当然也得学会如何拉取远程的更新至本地仓库
两种方式:

  1. git fetch配合git diff '远程仓库名/分支名'
  2. git pull

fetchpull的主要区别是:fetch不会直接更新至本地文件,它只是拉到了本地版本库,使用diff可以查看本地版本库和本地文件的区别,而pull是直接更新至本地文件。
为了减少冲突,往往是先使用fetch拉取至本地版本库,再diff查看是否有冲突,如果没有冲突则再使用pull把远程仓库的内容直接整合到工作区(本地文件)。
下面我们通过实例来测试一下
修改远程仓库的文件lao.md并提交,如下图
在这里插入图片描述
下面我们在Git上使用指令fetchdiff更新本地仓库
在这里插入图片描述
确认无误再使用pull更新至工作区。
在这里插入图片描述
查看本地文件lao.md确认成功同步
在这里插入图片描述

5. GIt其他常用命令

在这里插入图片描述

三、VSCode与Git和GitHub

最后我们再讲讲如何使用VSCode同步更新代码至远程仓库

1. VSCode上传本地更新至远程仓库

使用VSCode打开仓库demo的文件夹,如下图
在这里插入图片描述
修改文件lao.md并保存后,点击左侧源代码管理页,如下图
在这里插入图片描述
暂存更改后,输入备注信息后点击提交如下图
在这里插入图片描述
点击同步更改按钮后会出现提示框选择确定
在这里插入图片描述
查看远程仓库demo的lao.md文件,可以看到成功同步更新
在这里插入图片描述

2. VSCode新建分支并同步远程仓库

下面再介绍一下使用VSCode如何在远程仓库创建分支以及分支合并
在这里插入图片描述
按上图步骤点击创建分支后输入分支名回车确认
在这里插入图片描述
新建分支成功后可以看到左下角会自动切换到新建的分支
在这里插入图片描述
在新分支上,我们再次修改文件lao.md,如下图,左侧会出现新的更改
在这里插入图片描述
补充:点击更改下的文件,默认情况下会出现两个窗口用于对比,更改前后更改后的区别,确认无误后可暂存更改。
暂存更改并添加备注信息后提交,更新的内容会提交至本地仓库的新分支中,如下图,点击发布分支会将本地仓库中的新分支同步到远程仓库。
回到GitHub上可以看到新分支已经同步了,如下图
在这里插入图片描述

3. 合并分支并同步至远程仓库

以上是新建分支并提交分支的步骤,下面再讲讲如何合并分支至主分支。
点击VSCode左下角切换分支至主分支,按步骤点击合并分支,如下图
选择所要合并的temp分支。
可以看到在temp分支中更改的内容已经同步到主分支的本地仓库中,再点击同步更改按钮后则会同步更改至远程仓库,并自动拉取至本地工作台。
在这里插入图片描述
回到GItHub上,可以看到成功合并分支内容至主分支上了
在这里插入图片描述
以上就是VSCode代码同步至GitHub的基础内容。
本文参考文章:

  1. 【git及GitHub使用总结】(一)
  2. git使用指南|John知识分享
    本文参考视频:
  3. Git工作流和核心原理 | GitHub基本操作 | VS Code里使用Git和关联GitHub

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据库基础篇 《12.MySQL数据类型精讲》

目录 1. MySQL中的数据类型 2. 整数类型 2.1 类型介绍 2.2 可选属性 2.2.1 M 2.2.2 UNSIGNED 2.2.3 ZEROFILL 2.3 适用场景 2.4 如何选择? 3. 浮点类型 3.1 类型介绍 3.2 数据精度说明 ​编辑 3.3 精度误差说明 4. 定点数类型 4.1 类型介绍 4.2 开发中…

Ingonyama团队的ZKP加速

1. PipeMSM(cloud-ZK):ZKPFPGA Ingonyama团队2022年发表了论文《PipeMSM: Hardware Acceleration for Multi-Scalar Multiplication》,尝试将ZK操作与FPGA结合,并为未来ZK与ASIC(Application Specific Int…

java_集合统计

1.代码实现&#xff1a; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class ListUtilEme {public static Map<String,Integer> frequencyOfListElements(List<String> items ) {if (items null…

什么!appium安装不上???快来试试这种方法吧!——appium的手动安装步骤教程

前言 相信你不少软件测试行业小伙伴应该在用npm安装appuim或者是cpm安装appuim途中也碰到下面一些报错吧&#xff0c;接下来小陈教你改为手动安装appium吧。 一、手动下载appium安装包 appuim手动安装包下载链接&#xff1a; appium / Appium.app / Downloads — Bitbucket &a…

< 封装公共导出模块:配合element实现提示 >

封装公共导出模块 &#x1f449; 前言&#x1f449; 一、原理&#x1f449; 二、实现案例&#x1f449; 三、效果演示往期内容 &#x1f4a8; &#x1f449; 前言 在 Vue elementUi 开发中&#xff0c;我们偶尔会遇到需要导出的列表&#xff0c;或者指定位置的导出内容。在一…

瑞萨开发环境搭建

使用keil环境&#xff0c;开发瑞萨renase A4M2 下载MDK 下载MDK&#xff0c;5.37 其它版本 最好使用5.30以上 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5k3XGSK5-1682182139410)(https://secure2.wostatic.cn/static/reEunrWa2vsfrcpVZC1nbo…

【错误:A component required a bean of type ‘xxx‘ that could not be found.解决办法】

在学谷粒商城项目的时候出现了以下问题&#xff1a; *************************** APPLICATION FAILED TO START *************************** Description: A component required a bean of type org.redisson.Redisson that could not be found. Action: Consider defining a…

103. 二叉树的锯齿形层序遍历【191】

难度等级&#xff1a;中等 上一篇算法&#xff1a; 104. 二叉树的最大深度【75】 力扣此题地址&#xff1a; 103. 二叉树的锯齿形层序遍历 - 力扣&#xff08;Leetcode&#xff09; 1.题目&#xff1a;103. 二叉树的锯齿形层序遍历 给你二叉树的根节点 root &#xff0c;返回其…

24、LLVM编译流程

一、LLVM 1.1 LLVM概述 LLVM是构架编译器(compiler)的框架系统,以C编写而成,用于优化以任意程序语言编写的程序的编译时间(compile-time)、链接时间(link-time)、运行时间(run-time)以及空闲时间(idle-time),对开发者保持开放,并兼容已有脚本.LLVM计划启动于2000年,最初由美国…

家用洗地机要怎么选?平价洗地机推荐

国内大多数家庭比较注重地面清洁&#xff0c;不仅是要扫的干净&#xff0c;更要拖的干净&#xff0c;尤其追求地板锃亮的视觉效果&#xff0c;因此家用洗地机因其清洁效率高、能吸除干湿垃圾以及自清洁拖布等优点&#xff0c;成为很多家庭用于替代扫帚拖把等传统清洁工具的清洁…

被优化了怎么办?他苦学仨月拿到11koffer

网上有个段子叫做“生活就是起起落落落落落落”。人生在世&#xff0c;本就不易&#xff0c;再加上最近大环境影响&#xff0c;各行各业都在内卷&#xff0c;身为芸芸众生的一员&#xff0c;我们也难免受到影响&#xff0c;面临福利裁剪、降薪、甚至被优化的风险。 大环境我们…

云擎未来 万象共生:2023移动云万象生态峰会来袭

云融万象&#xff0c;赋能千行百业&#xff0c;云是万物智能的源泉&#xff0c;生态是移动云与万千伙伴共同发展的沃土。 2023移动云万象生态峰会将于4月25日下午在苏州金鸡湖国际会议中心隆重举行&#xff0c;大会荟聚众多重量级嘉宾&#xff0c;共话生态新发展&#xff0c;同…

Nacos简介 安装 配置

简介 什么是注册中心 注册中心在微服务项目中扮演着非常重要的角色&#xff0c;是微服务架构中的纽带&#xff0c;类似于通讯录&#xff0c;它记录了服务和服务地址的映射关系。在分布式架构中&#xff0c;服务会注册到这里&#xff0c;当服务需要调用其它服务时&#xff0c;…

给你们讲个笑话——低代码会取代程序员

今天是正经男&#xff0c;我们严肃讨论一下一直以来争吵不休的取代问题。 低代码开发平台&#xff0c;低代码技术会取代开发人员么&#xff1f; 一、背景 低代码开发平台的普及&#xff0c;让很多公司对快速生成应用抱有很大期望。甚至有人认为&#xff0c;低代码开发平台未来…

关于Java注解的一些理解 小结

目录 1. 常用注解和理解 2. 自定义注解 2.1 案例背景 2.2 设计思路 3 总结 1. 常用注解和理解 注解在我的理解下&#xff0c;就是代码中的特殊标记&#xff0c;这些标记可以在编译、类加载、运行时被读取&#xff0c;并执行相对应的处理。 可能有些抽象&#xff0c;简单…

JavaWeb学习笔记

文章目录 一. HTML二. CSS三. JavaScript1. 引入2.语法/输出语句3. 变量/数据类型4. 运算符5. 流程控制语句6. 函数7. 对象8. 事件监听 四. Servlet1.执行流程2. 生命周期3. 常用方法4. 体系结构5. 配置Servlet 五. JSP1. 简介2. JSP原理3.脚本4.JSP缺点5. EL表达式6. JSTL标签…

Android kotlin 用RecyclerView(androidx+BRVAH3.0.6)实现从底部弹出列表对话框(单选/多选)功能

文章目录 一、实现效果二、引入依赖三、实现源码1、实体类2、适配器单选/多选3、框架弹窗AnyLayer单选/多选3、实现视图一、实现效果 二、引入依赖 在app的build.gradle在添加以下代码 1、框架弹窗AnyLayer(github官网):implementation "com.github.goweii:AnyLayer:4.1…

Go语言基础----Go语言简介

【原文链接】Go语言基础----Go语言简介 一、Go语言简介 Go语言&#xff0c;又称Golang&#xff0c;是Google公司的Robert Griesemer&#xff0c;Rob Pike 及 Ken Thompson开发的一种静态强类型、编译型的语言。Go语言语法和C语言接近&#xff0c;但是功能上内存安全&#xff…

一文弄懂Jupyter的配置与使用(呕心沥血版)

Jupyter 是一个基于 Web 的交互式计算平台&#xff0c;使用户能够创建和共享文档&#xff0c;这些文档包含实时代码、方程式、可视化图表和解释文字。Jupyter 在数据分析领域被广泛应用&#xff0c;它提供了一个直观、交互式的操作界面&#xff0c;使得用户能够更容易地探索数据…

【WinForm】Android手机群控工具-桌面程序开发实现

如何将手下多个Android手机统一管理起来呢&#xff0c;这里是用通过终端输入adb命令来实现控制多个手机的&#xff0c;具体怎么做&#xff0c;接下来给讲一讲。 使用adb工具包 首先&#xff0c;需要准备一套工具&#xff0c;以下是adb工具套件&#xff0c;是在Android SDK开发…