【自用记录】本地关联GitHub以及遇到的问题

最近终于又想起GitHub,想上传代码和项目到仓库里。
由于很早之前有在本地连接过GitHub(但没怎么用),现在需要重新搞起(操作忘得差不多)。
在看教程实操的过程中遇到了一些小问题,遂记录一下。

前置操作

  • 本地下载安装 Git:官网链接;
  • 在 GitHub 上创建新仓库(New repository)。

添加SSH

首先,右键 Git Bash Here 打开一个Git的命令窗口。

  1. 绑定用户
    由于我以前用过,已经绑定了,可以跳过这部。
    用以下命令,可以查看是否有绑定。有user.nameusere.mail说明绑定成功。
git config --global --list

在这里插入图片描述

绑定命令如下,其中 user.nameusere.mail是自己 GitHub 的用户名与邮箱。

git config --global --unset user.name "user.name"
git config --global --unset user.email "user.email"
  1. 生成SSH key
    输入以下指令,生成 GitHub 的 SSH key。
    其中,"user.email"是自己 GitHub 的邮箱。
ssh-keygen -t rsa -f ~/.ssh/id_rsa.github -C "user.email"

这是成功的截图。
SSH Key 生成成功截图

在这里我遇到了一个问题。
由于以前生成过一个 SSH key,跳过这步执行后面的步骤一直出错,所以只好删除重新生成一个才可以。
C盘 > Users > 用户名 > .ssh文件夹下,有 id_rsa.pub文件,说明SSH Key 生成成功。有问题,就把这个文件删了,再重复上面步骤重新生成一个。
id_rsa.pub所在电脑文件夹

接下来就是打开 id_rsa.pub文件,把里面的秘钥内容复制到GitHub的 SSH Key 里。
点击 GitHub头像 > 设置(Settings)> SSH and GPG keys,新建一个 SSH Key(New SSH Key)。

  1. 检查密钥是否配置成功
    输入以下命令进行检查,如果成功,最后会有 successfully 的提示。
ssh -T git@github.com

在这里又遇到一个问题。
可能是没复制对(也可能是其他原因,不知道),结果遇到 git@github.com: Permission denied (publickey). 的报错。

百度了说我是 SSH 公钥没有正确配置在 GitHub 上( SSH 密钥与 GitHub 账户没有正确关联)。

在这里插入图片描述

所以在命令框里用命令重新复制了一次,终于没问题成功了。

cat ~/.ssh/id_rsa.pub

在这里插入图片描述

部署本地仓库

  1. 初始化本地仓库
    在本地自己喜欢的位置创建一个文件夹,作为 GitHub 的本地仓库。然后进入文件夹里,再次右键 Git Bash Here 打开一个Git的命令窗口。
    使用命令,让该文件夹成为 Git 可以管理的仓库。
git init

之后,文件夹里会生成一个 .git文件夹,用于管理版本库。

  1. 关联GitHub仓库
    命令如下,其中 仓库地址 的名字,在 自己的仓库 > Code > Local > SSH底下可以找到。
    "origin"是仓库的别名,可以就用 origin,也可以自己起一个名字代替。
git remote add origin "仓库地址"

在这里插入图片描述

这个操作结束后,就可以愉快地把本地项目上传或者下载仓库里的内容了。


仓库克隆(下载)

  • 输入命令下载仓库里的项目,仓库地址如上截图。
git clone "仓库地址"

本地上传

  1. 上传至缓存空间
    进入仓库所在文件夹,如 通过命令cd 文件夹路径进入。
    使用命令,将目录下的所有文件都放到缓存空间。
git add .

在提交的过程中,又遇到了问题。
显示 LF will be replaced by CRLF the next time Git touches it 报错。
在这里插入图片描述

搜了下,好像是不同平台的回车换行符不兼容所致。我是Window系统,跟Linux系统的换行符不一样。

输入以下命令就可以解决问题。

git config --global core.autocrlf true
  1. 添加备注
    如果需要,对提交的内容进行备注,备注的内容会在上传后显示在 Last commit message 中。
git commit -m "备注内容"
  1. 推送上传
    这里需要注意一下,main是分支的名字,如果有其他分支,并且要上传到别的分支,就把main改成别的分支的名字。
git push -u origin main

我在这里叕遇到了一个问题!!!
一开始是copy别人的命令 git push -u origin master,结果遇到了 error: src refspec master does not match any error: failed to push some refs to 报错。
error: src refspec master does not match any   error: failed to push some refs to 报错

原因是,我的GitHub上不存在 master 分支,将 master 改成正确的分支名字就好。在这里可以看到分支的名称。
在这里插入图片描述

然后看到一个有趣的小知识。

Github远程分支默认为:main。
Gitee远程分支默认为:master。

push成功后,刷新GitHub仓库的页面,就可以看到上传的内容了!


参考教程

  1. CSDN - GitHub搭建仓库并上传本地代码
  2. CSDN - 超详细——入门Github的代码上传
  3. CSDN - 程序员必备技能之上传代码至仓库(Github篇)
  4. CSDN - Git与GitHub,实现远程上传、下拉、更新项目
  5. 知乎 - github提示Permission denied (publickey),如何才能解决?
  6. CSDN - Git: ‘LF will be replaced by CRLF the next time Git touches it‘ 问题解决办法
  7. 博客园 - git push解决 error src refspec master does not match anyerror

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

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

相关文章

在一个scss文件中定义变量,在另一个scss文件中使用

_variables.scss文件 : $line-gradient-init-color: linear-gradient(90deg, #8057ff 0%, #936bff 50%, #b892ff 100%); $line-gradient-hover-color: linear-gradient(90deg, #936bff 0%, #b892ff 50%, #f781ce 100%); $line-gradient-active-color: linear-gradient(90deg, …

从零开始研发GPS接收机连载——19、自制GPS接收机的春运之旅

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 从零开始研发GPS接收机连载——19、自制GPS接收机的春运之旅 许久未曾更新这个系列,并非我平日里对这事儿没了兴致,不再愿意折腾。实则是受限于自身条…

智能驾驶功能LCC车道保持居中

画龙现象就是LCC常见bug LDW车道偏离预警 LKA车道保持 声音其实就是蜂鸣器 有些车是40 有些是60

Java全栈面试宝典:线程机制与Spring依赖注入深度解析

目录 一、Java线程核心机制 🔥 问题3:start()与run()的底层执行差异 线程启动流程图解 核心差异对照表 代码验证示例 🔥 问题4:Thread与Runnable的六大维度对比 类关系UML图 最佳实践代码 🔥 问题5&#xff1…

使用ANTLR4解析Yaml,JSON和Latex

文章目录 ANTLR4基本使用**1. 安装 Java 运行时(必需)****2. 安装 ANTLR4 命令行工具****方法一:通过包管理器(推荐)****macOS/Linux (Homebrew)****Windows (Chocolatey)** **方法二:手动安装(…

NixVis 开源轻量级 Nginx 日志分析工具

NixVis NixVis 是一款基于 Go 语言开发的、开源轻量级 Nginx 日志分析工具,专为自部署场景设计。它提供直观的数据可视化和全面的统计分析功能,帮助您实时监控网站流量、访问来源和地理分布等关键指标,无需复杂配置即可快速部署使用。 演示…

黑盒测试的等价类划分法(输入数据划分为有效的等价类和无效的等价类)

重点: 有效等价和单个无效等价各取1个即可 1、正向用例:一条尽可能覆盖多条2、逆向用例:每一条数据,都是一条单独用例。 步骤: 1、明确需求 2、确定有效和无效等价 3、根据有效和无效造数据编写用例 3、适用场景 针对:需要有大量数据测试输入, …

Linux Mem -- 通过reserved-memory缩减内存

目录 1. reserved-memory缩减内存 2. 为什么要通过2段512GB预留内存实现该缩减呢? 3. reserved-momery中的no-map属性 4. 预留的的内存是否会被统计到系统MemTotal中? 本文是解决具体的一些思考总结,和Linux内核的reserved-memory机制相关…

多线程—synchronized原理

上篇文章: 多线程—锁策略https://blog.csdn.net/sniper_fandc/article/details/146508232?fromshareblogdetail&sharetypeblogdetail&sharerId146508232&sharereferPC&sharesourcesniper_fandc&sharefromfrom_link 目录 1 synchronized的锁…

AWS混合云部署实战:打造企业级数字化转型的“黄金架构”

引言 “上云是必然,但全部上云未必是必然。”在数字化转型的深水区,企业面临的核心矛盾日益凸显:如何在享受公有云敏捷性的同时,满足数据主权、低延迟和遗留系统兼容的刚性需求? AWS混合云凭借“云上云下一张网”的独…

进程模型5-0号进程

内核版本架构作者GitHubCSDNLinux-3.0.1armv7-ALux1206 0号进程的作用 在 Linux 中除了 init_task 0号进程,所有的线/进程都是通过 do_fork 函数复制父线/进程创建得到,因为 0号进程产生时没有任何进程可以参照,只能通过静态方式构造进程描述…

计算机二级考前急救(Word篇)

重点题(20套,标黄为精选10套):4,15,17,19,21,24,25,27,36,40,12,18,20,22&…

constant(safe-area-inset-bottom)和env(safe-area-inset-bottom)在uniapp中的使用方法解析

在微信小程序中,padding-bottom: constant(safe-area-inset-bottom); 和 padding-bottom: env(safe-area-inset-bottom); 这两个 CSS 属性用于处理 iPhone X 及更高版本设备的安全区域(safe area)。这些设备的底部有一个“Home Indicator”&a…

十二、Cluster集群

目录 一、集群简介1、现状问题2、集群作用 二、集群结构设计1、集群存储设2、消息通信设计 三、Cluster集群三主三从结构搭建1、redis.conf配置文件可配置项2、配置集群3、链接集群4、命令客户端连接集群并使用 四、集群扩容1、添加节点2、槽位分配3、添加从节点 五、集群缩容1…

Java基础 3.29

1.数组的相关注意事项 错误示范一 String strs[] new String[2]{"a", "b"}; 正确示范一 String strs[] new String[]{"a", "b"}; 让JVM自己判断有几个数据,无需再其中写明有几组数据 错误示范二 String strs[] new…

从入门到精通:HTML 项目实战中的学习进度(一)

一、基础夯实阶段 1.1 HTML 文档结构与核心语法 在 HTML5 的世界里&#xff0c;构建一个文档就像是搭建一座大厦&#xff0c;坚实的基础至关重要。HTML5 文档的基础框架以<!DOCTYPE html>声明开场&#xff0c;这就好比是给浏览器下达的一份 “指令书”&#xff0c;明确…

FFmpeg —— 实时绘制音频波形图(附源码)

🔔 FFmpeg 相关音视频技术、疑难杂症文章合集(掌握后可自封大侠 ⓿_⓿)(记得收藏,持续更新中…) 实时绘制音频波形图 步骤                 FFmpeg打开媒体文件,读取每一包数据,将音频数据包进行缓冲,一包一包处理音频缓冲,对音频缓冲包进行解码,读…

大数据学习(88)-zookeeper实现的高可用(HA)

&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4dd;支持一…

基于MFC按钮逻辑

void CSUCCES1Dlg::SetDlgItemState()//IDC_BTN_INIT初始化按钮 { GigeState state = GigeState::ARV_NONE;//GigeState是一个枚举类型,stat状态为ARV_NONE int idx = ((CListBox*)GetDlgItem(IDC_LIST_GIGE))->GetCurSel();//GetDlgItem 是 MFC 框架提供的一个成员…

EF Core 乐观并发控制(并发令牌)

文章目录 前言一、乐观并发的核心思想二、实现方法1&#xff09;使用并发令牌&#xff08;Concurrency Token&#xff09;2&#xff09;处理并发冲突 三、工作原理四、适用场景五、与悲观并发的对比六、最佳实践总结 前言 Entity Framework (EF) Core 默认支持 乐观并发控制&a…