VSGitHub项目联动(上传和克隆),创建你的第一个仓库,小白配置

news2024/11/19 0:44:45

目录:

  • 前言
  • 一,基本说明
    • 1.1名词概念
    • 1.2必配条件
  • 二,配置方法
    • 2.1本地生成密钥
    • 2.2云端代码托管平台SSH配置添加(GitHub)
    • 2.3VS项目配置
  • 三,参考
  • 四,一些讨论

前言

  • 🌈在编写VS代码项目时,我们经常都要在不同电脑主机上面编写和查看项目代码,甚至其他人也要在不同电脑参与其中,所以同步,协调和存储的工具和平台就至关重要,而Git作为工具是首选,GitHub作为一个世界公认的代码托管平台,所以要解决前面的问题,必须在代码编写时把两个联系起来,才能做到事半功倍!
    看到许多入门的小伙伴想了解,但是从中会很绕,所以特意写了这篇小白博文给大家,让大家博文在手,天下我有!
    如果想明明白白,就从头看到尾,理解基本概念,再实操,如果已经了解只是解决的话,建议直接看第二部分!

一,基本说明

1.1名词概念

  • GitHub:GitHub是一个在线软件源代码托管服务平台,使用Git作为版本控制软件,由开发者克里斯·汪斯崔斯、P·J·海特和汤姆·普雷斯顿·沃纳使用Ruby on Rails编写而成。在2018年,GitHub被微软公司收购。GitHub同时提供付费账户和免费账户。这两种账户都可以建立公开或私有的代码仓库,但付费用户拥有更多功能。
  • Git:git是一个分布式版本控制软件,最初由林纳斯·托瓦兹创作,于2005年以GPL许可协议发布。

Git和GitHub的关系和区别:

  • GitHub是一个云端平台(Git站点),往往对应的是远程仓库(包括公开和私有仓库),访问形式有:APP,电脑桌面客户端,网站等等。并且网站的形式包含了很多功能。(可以理解为一个git功能,社交的在线网站)
  • Git是个工具,直观的使用体现在本地仓库以命令行和可视化操作下的使用(GitHub也包含了Git工具),进行版本控制,在电脑系统下会以一个客户端的形式存在(比如Windows系统下的git工具)。
  • 许多IDE都加入git功能,方便客户进行版本控制,比如VS ,VS Code,PyCharm等等IDE

前面提到,有两个使用场景:

  • 1️⃣从远程托管仓库克隆项目在本地,特贴是克隆远程的私有仓库,这个怎么办?
  • 2️⃣推送本地仓库(大多数私有)更改到远程托管平台,这个怎么办?
    为此,我们需要实现一个重要的连接:本地与远程仓库的无缝通信连接,即本地知道远程,远程知道本地。就是沟通的双方相互认识,这个就是本文的核心,如何建立联系!(毕竟一个是软件一个是云端,两个如何通信😱)

要了解建立联系,必须理解以下的这两个概念:

  • 公钥:公钥是与私钥算法一起使用的密钥对的非秘密一半。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。公钥和私钥是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),其中的一个向外界公开,称为公钥;另个自己保留,称为私钥。通过这种算法得到的密钥对能保证在世界范围内是唯一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功 。
  • SSH:安全外壳协议(Secure Shell Protocol,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。SSH通过在网络中建立安全隧道来实现SSH客户端与服务器之间的连接。SSH最常见的用途是远程登录系统,人们通常利用SSH来传输命令行界面和远程执行命令。
  • 如果明白了上面的概念,就会感觉第二章的操作其实都是必要的!😋😋

1.2必配条件

  • 本地生成的公钥
  • 代码托管平台账户(GitHub或Gitee)
  • 支持git并能远程推送的IDE(VS)
  • 应用场景:push或clone私有仓库

二,配置方法

2.1本地生成密钥

1️⃣设置Git用户签名

  • 对于git用户来说,用户签名就是:用户名+用户邮箱
  • 只是方便标识,看自己需要,用户名可以随便设置,用于区分即可,邮箱的话,也可以随便设置,一般:123@example.com(形式: 前缀1(如:123)+ @ 前缀2(如:example).com),自己怎么编都行,长度适中,因为后面会出现在公钥文件字符串中!
  • 用户签名可以这么设置(命令行形式)本地Git的初始设置(账户名+邮箱+color.ui)
  • VS中设置方法(快速):
    打开VS>Git选择卡>管理远程存储库>源代码管理>Git全局设置,在这里即可快速设置用户名和邮箱,设置完记得点确定!
    在这里插入图片描述
    在这里插入图片描述
  • 完成配置后,即可在电脑上到看到.gitconfig文件,打开后即可看到:
  • 注意:.gitconfig文件在C:\Users下,如果你电脑有登录账户目录可能是C:\Users\电脑账号名称\下,像笔者就是C:\Users\40276,如下图:
    在这里插入图片描述

在这里插入图片描述

2️⃣打开git工具(命令行git bash),如下
在这里插入图片描述
在git bash窗口下输入以下命令:

ssh-keygen -t rsa -C "123@example.com"

注意:-C后面的字符串是写你自己签名配置git用户签名的邮箱名,前面已经配置好了,不记得的话git查询或者打开.gitconfig文件或者VS git全局设置中查看。
输入该命令后,不管其他的或提示,连续点击三次的回车键即可完成,输出信息可以查看文件所在路径!
在这里插入图片描述

3️⃣公钥内容如下:,到2.2的时候把这个文件的全部字符串全部复制到对应的框里面就行!(如果要生成新的公钥文件,旧的又存在,把他删掉最好)
在这里插入图片描述

2.2云端代码托管平台SSH配置添加(GitHub)

1️⃣登录到GitHub网站(https://github.com)后,登录自己的github账户。
2️⃣依次点击:账户头像>Settings> SSH and GPG keys>New SSH Key,如图操作
在这里插入图片描述
在这里插入图片描述

3️⃣把2.1弄好的id_rsa.pub(前缀名可以有差异,反正是.pub文件)里面的字符串全选复制到github的SSH框内即可!(记得点击绿色的确认添加按钮

注意:公钥开头可能是以下为开头(所以不要惊讶)
在这里插入图片描述

在这里插入图片描述

2.3VS项目配置

1️⃣github创建新的仓库并复制仓库地址,如下:
在这里插入图片描述
在这里插入图片描述

2️⃣打开VS初始界面,选择克隆存储库,把远程仓库地址和本地存储地址填好后确认:
在这里插入图片描述

3️⃣VS克隆远程仓库到本地(第一次更改公钥配置后,后面通过后就不会弹出),会弹出下面窗口,输入之前你的公钥字符串贴进去,点OK.
在这里插入图片描述
4️⃣弹出下面窗口后,输入小写的yes后,点OK!
在这里插入图片描述
5️⃣通过后,即可克隆到本地,可从远程仓库进行后续的推送和拉取!
在这里插入图片描述

成功实现的小伙伴在下面打666!


三,参考

  • Git生成公钥、私钥以及ssh key配置
  • 公钥
  • 本地Git的初始设置(账户名+邮箱+color.ui)

四,一些讨论

  • 前面的方法适用于从github远程仓库链接中clone仓库到本地,如果是自己仓库,VS中配置好自己的github账户,VS克隆存储库的时候就可以在上面选择自己的私有可以克隆的私有仓库,直接点击后好像也可以直接克隆到本地
  • 所以这只是一个实现的方法,具体按自己的使用场景来决定是否采用,仁者见仁!😄

最后,文中若有不足,敬请批评指正!

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

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

相关文章

containerd源代码分析: 整体架构

本文从代码的大的整体组织上来熟悉containerd项目 containerd项目总的说是一个cs模式的原生控制台程序组。containerd作为服务端来接收处理client的各种请求,如常用的拉取推送镜像,创建查询停止容器,生成快照,发送消息等。client/…

程序设计语言+嵌入式系统设计师备考笔记

0、前言 本专栏为个人备考软考嵌入式系统设计师的复习笔记,未经本人许可,请勿转载,如发现本笔记内容的错误还望各位不吝赐教(笔记内容可能有误怕产生错误引导)。 1、嵌入式系统开发与设计 1.1嵌入式应用程序的生成与加…

在线获取文本列表并集计算器

具体请前往:在线文本并集计算工具

rabbitmq 3.9.29 docker mac 管理员页面无法打开

SyntaxError: Unexpected token ‘catch’ SyntaxError: Unexpected token ‘catch’ at EJS.Compiler.compile (http://127.0.0.1:15672/js/ejs-1.0.min.js:1:6659) at new EJS (http://127.0.0.1:15672/js/ejs-1.0.min.js:1:1625) at format (http://127.0.0.1:15672/js/main…

【Flask】Flask数据迁移操作

Flask数据迁移操作 前提条件 安装第三方包: # ORM pip install flask-sqlalchemy # 数据迁移 pip install flask-migrate # MySQL驱动 pip install pymysql # 安装失败,指定如下镜像源即可 # pip install flask-sqlalchemy https://pypi.tuna.tsinghu…

【Docker】golang操作容器使用rename动态更新容器的名字

【Docker】golang操作容器使用rename动态更新容器的名字 大家好 我是寸铁👊 总结了一篇golang操作容器使用rename动态更新容器的名字✨ 喜欢的小伙伴可以点点关注 💝 前言 今天遇到一个新的需求,要动态改变运行中的容器名字。 可以考虑先把…

鸿蒙实战开发-如何通过拖动滑块调节应用内字体大小

介绍 本篇Codelab将介绍如何使用基础组件Slider,通过拖动滑块调节应用内字体大小。要求完成以下功能: 实现两个页面的UX:主页面和字体大小调节页面。拖动滑块改变字体大小系数,列表页和调节页面字体大小同步变化。往右拖动滑块字…

Redis 教程系列之Redis 安装(二)

Windows 下安装 下载地址:Releases tporadowski/redis GitHub。 Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包到 C 盘,解压后,将文件夹重新命名为 redis。 打开文件夹,内容如下: 打开一个 cmd 窗口 使用 c…

更改Ubuntu桌面环境

功能异常 1: Ubuntu 22.04 将桌面 .desktop文件,用鼠标拖动到左侧的收藏夹菜单栏:无法实现,且会造成原来的 .desktop文件异常失效。 在多桌面环境下,切换到 KDE桌面,桌面 .desktop文件则是正常 OK的。 都 …

使用 PyOpenGL 进行 2D 图形渲染总结

一、说明 OpenGL是一个广泛使用的开放式跨平台实时 3D 图形库,开发于二十多年前。它提供了一个低级API,允许开发人员以统一的方式访问图形硬件。在开发需要硬件加速且需要在不同平台上运行的复杂 2D 或 3D 应用程序时,它是首选平台。它可以在…

CSS3 中的盒模型:标准与IE盒模型的差异

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

pytest之统一接口请求封装

pytest之统一接口请求封装 pytest的requests_util.pyrequests_util.py 接口自动化测试框架的封装yaml文件如何实现接口关联封装yaml文件如何实现动态参数的处理yaml文件如何实现文件上传有参数化时候,怎么实现断言yaml的数据量大怎么处理接口自动化框架的扩展&#…

谷歌seo营销服务有哪些服务?

以我们举例,如果你在做B2B外贸建站,这里有全套保姆式托管服务,让你既省心又省力,七天就能搞定网站建设,快速上线,再来就是谷歌白帽SEO,我们这边强调的是纯白帽操作,专注于高质量的原…

linux源配置:ubuntu、centos;lspci与lsmod命令区别

1、ubuntu源配置 1)先查电脑版本型号: lsb_release -c2)再编辑源更新,源要与上面型号对应 参考:https://midoq.github.io/2022/05/30/Ubuntu20-04%E6%9B%B4%E6%8D%A2%E5%9B%BD%E5%86%85%E9%95%9C%E5%83%8F%E6%BA%90/ /etc/apt/…

基于springboot+vue的旅游网站

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

CICD流水线(ali)

后端CICD 一、打开云效流水线,创建流水线

全球大型语言模型(LLMS)现状与比较

我用上个博文的工具将一篇ppt转换成了图片,现分享给各位看官。 第一部分:国外大语言模型介绍 1,openai的Chatgpt 免费使用方法1:choose-carhttps://share.freegpts.org/list 免费使用方法2:Shared Chathttps://share…

Collection与数据结构 数据结构预备知识(二):包装类与泛型

1.包装类 在Java中,由于基本类型不是继承自Object,为了在泛型代码中可以支持基本类型,Java给每个基本类型都对应了一个包装类.可以把包装类理解为基本数据类型所对应的引用数据类型. 1.1基本数据类型与对应的包装类 基本数据类型包装类byteByteshortShortintIntegerlongLong…

AJAX-综合

文章目录 同步代码和异步代码回调函数地狱解决回调函数地狱Promise-链式调用async函数和awaitasync函数和await-捕获错误 事件循环宏任务与微任务Promise.all静态方法 同步代码和异步代码 同步代码:逐步执行,需原地等待结果后,才继续向下执行…

LLM漫谈(五)| 从q star视角解密OpenAI 2027年实现AGI计划

最近,网上疯传OpenAI2027年关于AGI的计划。在本文,我们将针对部分细节以第一人称进行分享。​ 摘要:OpenAI于2022年8月开始训练一个125万亿参数的多模态模型。第一个阶段是Arrakis,也叫Q*,该模型于2023年12月完成训练&…