【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 …

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

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

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

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

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

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

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

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

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

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

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

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

SSH隧道可以做什么?

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

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

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

Redis-单机安装

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

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

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

(动画详解)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;系统主要采…

对camera raw中的纹理和清晰度的内容的修正

之前对于环的解释&#xff0c;不太行&#xff0c;这里我给出进一步地说明。 首先对环的解释: 我这里说的环指的是频域段中的ai变化的时候对图像像素的变化的极大的影响程度的环状效果&#xff0c;会出现不规则的环状的提亮或增暗的效果。实际上是每个fj都有影响&#xff0c;但…

Python 全栈系列242 踩坑记录:租用算力机完成任务

说明 记一次用算力机分布式完成任务的坑。 内容 1 背景 很早的时候&#xff0c;做了一个实体识别模型。这个模型可以识别常见的PER、ORG、LOC和TIME几种类型实体。 后来&#xff0c;因为主要只用来做PER、ORG的识别&#xff0c;于是我根据业务数据&#xff0c;重新训练了模…

CommandLineRunner和ApplicationRunner接口实现类中run方法发生异常导致spring程序关闭

今天其他组的一个程序在k8s中启动报错&#xff0c;启动之后立马就关闭了。我去看日志&#xff0c;发现最后面报了一个UnknownHostException异常&#xff0c;感觉是这个原因导致的&#xff0c;然后查看异常栈。定位到一个CommandLineRunner接口实现类&#xff0c;这个实现类里面…

[muduo网络库]——muduo库的Reactor模型(剖析muduo网络库核心部分、设计思想)

一、前言 在学习 C 服务端的过程中&#xff0c;必不可少的一项就是熟悉一个网络库&#xff0c;包括网络库的应用和其底层实现。我们熟知的网络库有 libevent、libev、muduo、Netty 等&#xff0c;其中 muduo 是由陈硕大佬个人开发的 TCP 网络库&#xff0c;最近跟着课程正在深…

使用Beego创建API项目并自动化文档

最近需要使用Go写一个Web API项目&#xff0c;可以使用Beego与Gin来写此类项目&#xff0c;还是非常方便的&#xff0c;这里就介绍一下使用Beego来创建的Web API项目并自动化文档的方法。 使用Gin创建API项目并自动化文档参见&#xff1a;使用Gin编写Web API项目并自动化文档 …

粮油码垛机:自动化与智能化仓储的关键角色

在快速发展的现代化仓储物流领域&#xff0c;粮油码垛机正逐渐成为自动化与智能化仓储的关键角色。它以其高效、精准、节省人力的特点&#xff0c;赢得了众多粮油生产企业的青睐&#xff0c;成为仓储管理升级换代的明星产品。 一、粮油码垛机的技术革新 随着科技的发展&#…

AI写的论文AI疑似度太高怎么办?教你一招解决

随着 AI 技术迅猛发展&#xff0c;各种AI辅助论文写作的工具层出不穷&#xff01; 为了防止有人利用AI工具进行论文代写&#xff0c;在最新的学位法中已经明确规定“已经获得学位者&#xff0c;在获得该学位过程中如有人工智能代写等学术不端行为&#xff0c;经学位评定委员会…