【Git实战】如何将本地仓库推送至Github(windows版)?

最近使用Go语言开发项目,想寻找位操作相关的工具包。找了一圈没有合适的,因此自己写了一个。又想将其推送到Github上,中间逢山开路,遇水搭桥,终于成功将本地Git仓库和Github进行了关联。现将我的方法公之于众,以期减少后来者的时间。

Github是基于Git实现的在线代码仓库,国内外很多开源软件都选择在Github上存储,因此我也打算将自己的工具包推送到Github上。步骤如下:

一、创建本地仓库

如图所示,Git版本控制系统分为本地仓库(Repository)和远端仓库(Remote)。其中本地仓库,存储在自己的机器上。而远端仓库,也就是Github。

要建立本地仓库和Github的连接,首先要建立本地仓库。我们可以任选一个文件夹作为本地仓库。

我在本机的D盘根目录下创建了GoMiniPackage的文件夹(你可以创建你自己命名的文件夹)。然后在GoMiniPackage文件夹下,按住Shift键+鼠标右键,选择1)“在终端中打开”、2)“Open Git Bash Here”、3)"在此处打开Powershell窗口"都可以。如下图所示:

其中,1)、3)都会打开windows上的终端Powershell窗口,2)需要安装Git。在弹出的终端窗口,输入命令

git init

显示结果如下:

这时在GoMiniPackage下会生成.git文件夹,这就是本地仓库目录。如下图所示:

至此,我们就完成了第一步操作。

二、将项目文件夹和代码文件上传到本地仓库

这时,将待发布的代码文件和文件夹复制粘贴过来。如下图所示:

再次打开Powershell,我们先来配置git的两个全局变量user.name和user.email,这两个变量用于提交时默认以该名字和邮件名备注信息。

git config --global user.name SkyCreator
git config --global user.email skycreator.top@qq.com

然后输入git status查看git状态。

可以看到终端给的提示是bitopt/还没有被Git追踪,需要git add将其加入版本控制。

我们根据提示输入命令git add bitopt/,再输入命令git status查看版本状态

git add bitopt/
git status

结果如下图所示:

这说明我们已经将bitopt文件夹及其内部的文件加入了版本控制的缓存库中。要想将其加入本地仓库,还需要进一步操作。命令如下:

 git commit -m "add bitopt"

这条指令是将缓存库中的文件或文件夹提交到本地仓库,且将这次提交信息描述为add bitopt。结果如下:

以上结果说明提交成功。我们使用git status查看,结果如下

说明我们在主干分支下,并且没有任何可提交的内容了。使用git log查看提交日志,如图所示:

可以看到add bitopt的日志记录已经存在。

上面作者(Author)一行,是我们之前设置好的全局变量user.name和user.email。

至此,第二部操作完成。

三、设置Github,建立远端仓库

在Github上建立远端仓库之前,要先注册Github。登陆Github后,在主页面选择下图左右任一入口即可进入创建远端仓库页面。

下图为创建远端仓库页面。在Repository name处填写你的仓库名,在这里我是GoMiniPackages。Description处可以不填,其它默认即可。

远端仓库创建好后,显示页面如下:

这时,页面给出了详细的上传步骤。步骤分为两种方式:

1....or create a new repository on the command line

这种方式让我们从本地仓库创建开始,直到最终推送本地仓库内容到远端仓库。

2....or push an existing repository from the command line

这种方式让我们将现有的本地仓库内容推送到远端仓库。

因为我们之前已经创建好了本地仓库,因此按照第二种方式一步步处理即可。

另外,本地仓库和远端仓库的联系有两种方式:HTTPS和SSH。选择HTTPS的方式很简单,但需要进行一次登录Github并输入验证码的操作。而SSH的方式需要先添加公钥。添加公钥的方式稍微复杂一些,下面我们主要说说如何添加公钥。

四、添加公钥

公钥和私钥是一对秘钥,用于对数据进行加密和解密。Github上需要填写公钥数据才可以进行SSH的方式连接。

公钥和私钥可以本地直接生成。在Powershell窗口,输入

ssh-keygen -t rsa -C skycreator.top@qq.com -f C:\Users\你的用户名/.ssh/id_rsa_test

其中-t指的是密钥类型,默认为rsa,也可以不填。
-C设置注释文字,一般填写邮箱名,比如skycreator.top@qq.com
-f设置生成目录和文件名。一般放在C:\Users\你的用户名/.ssh目录下

输入之后,会让你输入密码,一般不输入,否则以后每次都要输入密码。一直按回车键即可生成密钥。

生成密钥如下图所示,会有两个文件id_rsa_test和id_rsa_test.pub文件。

这时,我们的密钥就生成了。进入Github主页。

在右上角点击个人头像,选择Settings选项。进入后,点击SSH and GPG keys选项。

将之前生成的带后缀的.pub密钥文件的所有内容复制到Key中。Title栏随便输入,点击Add SSH key即可。

设置好之后,在Powershell中输入ssh -T git@github.com测试连接情况。如果连接不上,是因为还需要设置ssh配置文件。在windows上,配置文件在C:\Users\你的用户名/.ssh/目录下名为config的文件。记事本打开,将以下内容填入即可。

Host github.com            HostName github.comIdentityFile C:\\Users\\ZackN\\.ssh\\id_rsa_testPreferredAuthentications publickeyUser SkyCreatorIdentitiesOnly yes

其中IdentityFile改成自己的密钥地址,User改成自己用户名即可。

五、推送到远端仓库

设置好了密钥,我们直接使用SSH的方式连接远端仓库即可。依次执行下述命令

git remote add origin git@github.com:SkyCreator/GoMiniPackages.git
git branch -M main
git push -u origin main

结果如下:

以上就是今天的全部内容,谢谢阅读。

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

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

相关文章

docker资源限额

多数的应⽤场景要对Docker容器的运⾏内存进⾏限制,防⽌其使⽤过多的内存。 格式:-m或--memory 正常的内存大小 [rootadmin ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS …

RUST编程语言入门基础2024

庄晓立,2024年3月。 Rust简介 A language empowering everyone to build reliable and efficient software. Rust编程语言赋能所有人开发高可靠且高性能的软件。 性能 Rust is blazingly fast and memory-efficient: with no runtime or garbage collector, it can…

vue 自定义事件和子组件方法调用

举例说明了vue开发中&#xff0c;一个子组件需要响应另一个子组件事件的方法。 1自定义事件 显示声明事件 //.vue <script setup>defineEmits([search, cancel]) </script>使用方法1&#xff1a;在js代码中 function buttonClick() {emit(search) }使用方法2&a…

【0day漏洞复现】中移铁通禹路由器信息泄露漏洞

0x01 阅读须知 “如棠安全的技术文章仅供参考&#xff0c;此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等&#xff08;包括但不限于&#xff09;进行检测或维护参考&#xff0c;未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供…

汇凯金业:白银价格下跌的原因有哪些

白银价格的下跌可能由多种因素引起&#xff0c;包括宏观经济因素、市场供需关系、货币政策以及投资者情绪等。以下是一些可能导致白银价格下跌的原因&#xff1a; 宏观经济状况改善&#xff1a;经济状况好转通常会减少对白银作为避险资产的需求。例如&#xff0c;经济增长加速…

【QT教程】QT6嵌入式系统设计 QT嵌入式

QT6嵌入式系统设计 使用AI技术辅助生成 QT界面美化视频课程 QT性能优化视频课程 QT原理与源码分析视频课程 QT QML C扩展开发视频课程 免费QT视频课程 您可以看免费1000个QT技术视频 免费QT视频课程 QT统计图和QT数据可视化视频免费看 免费QT视频课程 QT性能优化视频免费看 免…

初阶C语言(8) - 实用的调试技巧

1. 什么是bug? bug 是计算机领域专业术语&#xff0c;是计算机在硬件、软件、协议和系统安全策略上存在的缺陷&#xff0c;攻击者能够在未授权情况下访问的危害&#xff0c;世界最早的一批程序设计师之一&#xff0c;美国的葛丽丝霍波在调试设备时出现故障&#xff0c;拆开继电…

UIOTOS前端零代码应用 蓝图连线 信号值变化小示例01

目标 通过连线&#xff0c;实现信号值随机变化。 最终效果 实现过程 步骤1&#xff1a;新建页面 步骤2&#xff1a;拖入信号值和输入框组件&#xff0c;并把信号值的“signalLevel”属性form绑定 步骤3&#xff1a;选中输入框通过交互连线操作信号值如下图属性 步骤4&#x…

思科防火墙 怎么再设备上确认是否支持ipv6 地址服务

环境&#xff1a; 思科防火墙 asa5520 问题描述&#xff1a; 思科防火墙 怎么再设备上程序是否支持ipv6 地址服务 解决方案&#xff1a; 1.在Cisco ASA 5520防火墙上检查设备是否支持IPv6&#xff0c;您可以按照以下步骤操作&#xff1a; 登录到ASA设备&#xff1a; 使用…

vue3中使用echarts出现官方和自己实现相同代码不同样式的任何问题

原因&#xff1a;Vue3 使用 proxy 对象代理&#xff0c;而 echarts 则使用了大量的全等&#xff08;&#xff09;, 对比失败从而导致了bug。解决方法&#xff1a;将ref或reactive对象换成普通变量来保存 echarts 实例。版本 vue3.2.47 echarts5.4.1。实例&#xff0c;导致 tool…

EdgeOne 免费证书快速实现网站 HTTPS 访问

在当今互联网环境下&#xff0c;HTTPS访问已经成为现代网站的必备功能。HTTPS 访问不仅能够更有效地保障用户在访问到网站时的数据安全传输&#xff0c;防止信息泄露、消息劫持等问题&#xff0c;在搜索引擎中&#xff0c;未实现 HTTPS 还会被浏览器提示为不安全网站&#xff0…

SSH隧道可以做什么?

SSH隧道是SSH协议服务端提供的一种扩展功能&#xff0c;一般仅在linux服务器的SSH服务端中提供&#xff0c;其它的如交换机、防火墙等网络设备中&#xff0c;虽然支持SSH协议&#xff0c;但多数并不提供SSH隧道功能。 所以&#xff0c;在通过SSH协议连接远程设备时&#xff0c…

sdut java lab 7.6

7-6 String Builder 分数 10 全屏浏览 切换布局 作者 翁恺 单位 浙江大学 You are going to read four numbers: n, a, b and c, like this: 12 2 5 3First, n is used to build up a string from 0 to n, like this: 0123456789101112is a string build up for n12. Th…

2024数维杯数学建模选题建议及各题思路来啦!

大家好呀&#xff0c;2024数维杯数学建模挑战赛开始了&#xff0c;来说一下初步的选题建议吧&#xff1a; 首先定下主基调&#xff0c; 本次数维杯建议选B。难度上C&#xff1e;A&#xff1e;B。B题目是比较经典的数据分析类题目&#xff0c;主要做统计分析差异显著性以及相关…

Redis-单机安装

试图从官网注册不了我也不知道什么情况。 网盘自取吧&#xff0c;链接&#xff1a;https://pan.baidu.com/s/1KERBQaH9gCT10AGt9z0_jg?pwdyjen 安装比较简单&#xff0c;照着敲就完了每一步都试过了&#xff0c;先单机安装&#xff0c;后面搭建集群。 1.将安装包放到/usr/…

[蓝桥杯]真题讲解:数三角(枚举+STL)

[蓝桥杯]真题讲解&#xff1a;数三角&#xff08;枚举STL&#xff09; 一、视频讲解二、正解代码1、C2、python33、Java 一、视频讲解 [蓝桥杯]真题讲解&#xff1a;数三角&#xff08;枚举STL&#xff09; 二、正解代码 1、C #include<bits/stdc.h> #define int long…

MasterKey: Automated Jailbreaking of Large Language Model Chatbots - 论文翻译

论文链接&#xff1a;https://arxiv.org/pdf/2307.08715 MASTERKEY: Automated Jailbreaking of Large Language Model Chatbots Abstract1 Introduction2 Background*A. LLM Chatbot**B. LLM Jailbreak**C. Jailbreak Defense in LLM* 3 An Empirical Study*A. Usage Policy …

(动画详解)LeetCode225.用队列实现栈

. - 力扣&#xff08;LeetCode&#xff09; 题目描述 解题思路 这道题的思路就是使用两个队列来实现 入栈就是入队列 出栈就是将非空队列的前n-1个元素移动到新的队列中去 再将最后一个元素弹出 动画详解 代码实现 #define _CRT_SECURE_NO_WARNINGS 1#include <stdio.…

JSP ssm 房屋中介管理myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 JSP ssm 房屋中介管理系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采…

关系型数据库的一种自动测评方式

关系型数据库在如今已经是一门比较常用以及重要的技术,现在的大部分应用程序系统都构建于关系型数据库系统之上,数据库技能也是每个IT从业人员的必备技能之一,因此一些高校、培训学校等机构都把数据库课程作为必修课程之一。这就牵涉到考核的问题了,对于学生是否掌握该门技…