使用Git工具在GitHub的仓库中上传文件夹(超详细)

news2024/11/16 5:58:07

如何使用Git工具在GitHub的仓库中上传文件夹?

如果觉得博主写的还可以,点赞收藏关注噢~

第一步:拥有一个本地的仓库

可以fork别人的仓库或者自己新创建

  • fork别人的仓库
    在这里插入图片描述
  • 或者自己创建一个仓库
    在这里插入图片描述 按照要求填写完成后,点击按钮创建代码库创建成功在这里插入图片描述
    接下来我们查看一下刚刚创建好的代码库,点击Repositories,可查看到刚刚新建或者fork的代码库
    在这里插入图片描述

第二步:添加SSH公钥

为了把本地的仓库传到github,还需要配置SSH公钥,通过 SSH 连接到 GitHub

  1. 安装Git工具:git下载地址
    安装好长这样

  2. Git基本信息设置

打开git命令行
在这里插入图片描述
在git命令行内输入以下代码:引号内的填写你注册github时的用户名和电子邮件

git config --global user.name "your name"
git config --global user.email "your_email@163.com"
  1. 添加SSH 公钥
  • 生成SSH 公钥
ssh-keygen -t rsa -b 4096 -C "your_email@163.com"

该命令会要求你选择保存位置(默认为 ~/.ssh/id_rsa)和输入密码。
如果你使用默认设置,直接一路回车就行。

  • 添加 SSH 密钥到 SSH 代理
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
  • 获取并复制 SSH 公钥
    直接在命令行内输入上面的代码,就会出现key,右键复制key(从ssh-rsa开始复制)
cat ~/.ssh/id_rsa.pub

在这里插入图片描述

  • 将公钥添加到Github
1.登录到你的 GitHub 账户。
2.点击右上角的头像,然后选择 Settings。
3.在左侧菜单中,选择 SSH and GPG keys。
4.点击 New SSH key 按钮。
5.在 Title 框中输入一个描述(随便起)。
6.在 Key 框中粘贴你的公钥内容,然后点击 Add SSH key。

在这里插入图片描述
弄好就变成这样:
在这里插入图片描述

  1. 确认 SSH 配置是否正确

运行以下命令查看你当前远程仓库的 URL:

git remote -v

如果输出中显示的是 HTTPS 地址(例如 https://github.com/username/repo.git),你需要将其改为 SSH 地址:

git remote set-url origin git@github.com:username/repository.git

SSH 地址在这里复制:点Repositories,找到你需要更改的仓库点进去,点击code,就会出现ssh地址,复制一下~
在这里插入图片描述
重新输入git remote -v
会出现:

origin  git@github.com:your name/xxx.git (fetch)
origin  git@github.com:your name/xxx.git (push)

5.测试 SSH 连接
使用下面的命令测试是否能够成功通过 SSH 连接到 GitHub:

ssh -T git@github.com

如果出现以下文字说明连接成功,否则说明ssh配置有问题,重新配置一遍试试:

Hi username! You've successfully authenticated, but GitHub does not provide shell access.

这就表示已成功连上github了

  1. 检查你是否已经为 Git 配置了 SSH 密钥。打开终端并运行以下命令:
ls -al ~/.ssh

第三步:拉取远程仓靠到本地,修改之后上传,完成仓库更新

举例:我需要在远程仓库models中的ficall/sda文件下新添加一个文件夹aaa,我该如何操作呢?

  1. 打开Git bash here

在本地电脑的一个盘里面新建一个文件夹,然后在文件夹上点击 右键—Git bash here

  1. 初始化仓库
git init
  1. 建立本地与github上新建项目连接
git remote add origin git@github.com:your name/xxx.git
  1. 同步github新建项目到本地
git pull origin master

在这里插入图片描述

  1. 修改文件夹,并将新增的文件拷贝到缓存区
cd models/ficall/sda

在sda文件夹下放入新的文件夹aaa

git add aaa
  1. 将新文件提交到本地仓库
git commit -m "xxx"

xxx替换为本次修改的注释

  1. 提交文件到Github
git push origin master  # 或者你当前所在的分支

到这里如果没有报错就成功了

可能会遇到的问题和常用指令

  1. 网络:
    出现报错:
$ git clone xxx.git
fatal: unable to access xxx.git/': Failed to connect to github.com port 443 after 21088 ms: Timed out
$ git push origin master 
Enumerating objects: 4091, done.
Counting objects: 100% (4091/4091), done.
Delta compression using up to 12 threads
Compressing objects: 100% (4079/4079), done.
error: RPC failed; HTTP 400 curl 92 HTTP/2 stream 0 was not closed cleanly: CANCEL (err 8)
send-pack: unexpected disconnect while reading sideband packet
Writing objects: 100% (4088/4088), 827.04 MiB | 12.37 MiB/s, done.
Total 4088 (delta 264), reused 1 (delta 0), pack-reused 0
fatal: the remote end hung up unexpectedly
Everything up-to-date

网络问题,重新输入指令多试一下

  1. 文件太大
remote: error: File mindrecord is 240.01 MB; this exceeds GitHub's file size limit of 100.00 MB

3.怎么把添加到暂存区的文件删除:

git reset

4.报错:

On branch master
Your branch is ahead of 'origin/master' by 2 commits.
(use "git push" to publish your local commits)

nothing to commit, working tree clean

这意味着当前工作目录中的文件没有任何变化,所有更改已经被提交,并且本地分支已经领先于远程仓库 2 个提交

检查是否提交过:

git log --oneline

这会列出最近的提交,显示每个提交的简短哈希和提交消息。如果你看到了你希望提交的内容,说明提交已经成功。
如果提交有误想要撤回:

git reset --soft HEAD~2#撤回最近的两次次提交并保留更改
git reset --hard HEAD~2#撤回最近的两次次提交并丢弃更改

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

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

相关文章

设计模式-Facade(门面模式)GO语言版本

前言 个人理解Facade模式其实日常生活中已经不知不觉就在使用了,基本核心内容就是暴露一些简单操作的接口,实现上将一些内容封装起来。 如上图,外界使用内部子系统时,只需要通过调用facade接口层面的功能,不需要了解子…

【隐私计算】隐私计算的应用场景探索(大模型隐私计算、隐私数据存储计算、Web3、隐私物联网等)

1. 背景分析 隐私计算作为一种实现“原始数据不出域,可用不可见”的数据流通价值的关键技术,经历了2020-2023年的高光时刻,却在2024年骤然走向低谷。从各种渠道了解到一些业内曾经风光无两的隐私计算公司都有不同程度的裁员。几乎一夜之间&am…

【提高篇】3.4 GPIO(四,工作模式详解 下)

四,模拟输入输出 上下拉电阻断开,施密特触发器关闭,双 MOS 管也关闭。该模式用于 ADC 采集或者 DAC 输出,或者低功耗下省电。但要注意的是 GPIO本身并不具备模拟输出输入的功能。 4.1 模拟输入 STM32内置ADC(模数转换器),可以将模拟信号转换为数字信号。GPIO引脚可以…

【青牛科技】D4147漏电保护电路介绍及应用

1、标题: D4147漏电保护电路 2、简介: 我司代理电源管理芯片,产品具有失效率低、可靠性高等特点。 3、具体应用: 相关产品介绍: 4、D4147 应用框图: D4147 方案介绍: 接地零线故障引起的接地…

【C++】深入理解自定义 list 容器中的 list_iterator:迭代器实现详解

个人主页: 起名字真南的CSDN博客 个人专栏: 【数据结构初阶】 📘 基础数据结构【C语言】 💻 C语言编程技巧【C】 🚀 进阶C【OJ题解】 📝 题解精讲 目录 📌 引言📌 1. 为什么 list 容器需要 list_iterator…

MuMu模拟器安卓12安装Xposed 框架

MuMu模拟器安卓12安装Xposed 框架 当开启代理后,客户端会对代理服务器证书与自身内置证书展开检测,只要检测出两者存在不一致的情况,客户端就会拒绝连接。正是这个原因,才致使我们既没有网络,又抓不到数据包。 解决方式: 通过xposed框架和trustmealready禁掉app里面校验…

MongoDB分布式集群搭建----副本集----PSS/PSA

MongoDB分布式集群 Replication 复制、Replica Set 复制集/副本集 概念 一、 副本集的相关概念 1.概念 “ A replica set is a group of mongod instances that maintain the same data set. ” 一组MongoDB服务器(多个mongod实例)(有不…

Java篇String类的常见方法

目录 一. String类的概念 1.1 String类的特性 二. 字符串的构造方式 三. 常用方法 3.1 字符串查找 3.2 字符串转换 3.3 字符串比较 3.3.1 equals( )方法 3.3.2 compare To( )方法 3.3.3 compare ToIgnoreCase( )方法 3.4 字符串替换 3.4.1 replace( )方法 3.4.2 r…

「QT」文件类 之 QDataStream 数据流类

✨博客主页何曾参静谧的博客📌文章专栏「QT」QT5程序设计📚全部专栏「Win」Windows程序设计「IDE」集成开发环境「UG/NX」BlockUI集合「C/C」C/C程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「UG/NX」NX定制…

MySQL45讲 第二十三讲 是怎么保证数据不丢的?

文章目录 MySQL45讲 第二十三讲 是怎么保证数据不丢的?一、binlog 写入机制(一)事务执行与 binlog cache(二)事务提交与 binlog 文件写入 二、redo log 写入机制(一)事务执行与 redo log buffer…

pgaudit插件-pgslq

使用pgaudit插件 一.介绍 postgresql可以通过log_statementall 提供日志审计,但是无法详细的提供日志信息,使用ogaudit能够提供详细的会话和对象审计日志,是PG的一个扩展插件 注意:pgAudit可能会生成大量日志。请谨慎确定要在您…

系统掌握大语言模型提示词 - 从理论到实践

以下是我目前的一些主要个人标签: 6 年多头部大厂软件开发经验;1 年多 AI 业务应用经验,拥有丰富的业务提示词调优经验和模型微调经验。信仰 AGI,已经将 AI 通过自定义 Chatbot /搭建 Agent 融合到我的工作流中。头部大厂技术大学…

Vue 项目打包后环境变量丢失问题(清除缓存),区分.env和.env.*文件

Vue 项目打包后环境变量丢失问题(清除缓存),区分.env和.env.*文件 问题背景 今天在导报项目的时候遇到一个问题问题:在开发环境中一切正常,但在打包后的生产环境中,某些环境变量(如 VUE_APP_B…

群控系统服务端开发模式-应用开发-前端菜单功能开发

今天优先开发菜单及角色,明天将开发岗位配置、级别配置等功能。具体看下图 而前端的路由不需要手动添加,是依据数据库里面存储的路径。 一、添加视图 在根目录下src文件夹下views文件夹下permission文件夹下menu文件夹下,新建index.vue&…

数据结构Python版

2.3.3 双链表 双链表和链表一样,只不过每个节点有两个链接——一个指向后一个节点,一个指向前一个节点。此外,除了第一个节点,双链表还需要记录最后一个节点。 每个结点为DLinkNode类对象,包括存储元素的列表data、…

【HarmonyOS学习日志(8)】UIAbility,HAP,AbilityStage组件及其生命周期

基本概念 UIAbility组件是一种包含UI的应用组件,主要用于和用户交互。 在项目创建时,系统默认生成的EntryAbility类继承了UIAbility类。 ExtensionAbility组件:是基于特定场景(例如服务卡片、输入法等)提供的应用组件…

【Linux】多线程(中)

目录 一、线程互斥 1.1 互斥概念 1.2 互斥量mutex 1.3 互斥量相关API (1)初始化互斥量 (2)销毁互斥量 (3)互斥量加锁和解锁 1.4 互斥量原理 1.5 重入和线程安全 二、死锁 2.1 概念 2.2 造成死锁…

【数字图像处理+MATLAB】基于 Sobel 算子计算图像梯度并进行边缘增强:使用 imgradientxy 函数

引言 在图像处理中,边缘通常是图像中像素强度变化最大的地方,这种变化可以通过计算图像的梯度来量化。梯度是一个向量,它的方向指向像素强度增加最快的方向,它的大小(或者说幅度)表示像素强度增加的速度。…

Nuxt.js 应用中的 schema:beforeWrite 事件钩子详解

title: Nuxt.js 应用中的 schema:beforeWrite 事件钩子详解 date: 2024/11/14 updated: 2024/11/14 author: cmdragon excerpt: schema:beforeWrite 钩子是 Vite 提供的一个功能强大的生命周期钩子,允许开发者在 JSON Schema 被写入之前执行自定义操作。利用这个钩子,您可以…

k8s服务内容滚动升级以及常用命令介绍

查看K8S集群所有的节点信息 kubectl get nodes 删除K8S集群中某个特定节点 kubectl delete nodes/10.0.0.123 获取K8S集群命名空间 kubectl get namespace 获取K8S所有命名空间的那些部署 kubectl get deployment --all-namespaces 创建命名空间 web界面上看到的效果,但是…