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

如何使用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.xdnf.cn/news/12352.html

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

相关文章

Linux kernel 堆溢出利用方法(二)

前言 本文我们通过我们的老朋友heap_bof来讲解Linux kernel中off-by-null的利用手法。在通过讲解另一道相对来说比较困难的kernel off-by-null docker escape来深入了解这种漏洞的利用手法。(没了解过docker逃逸的朋友也可以看懂,毕竟有了root权限后&a…

福昕阅读器高级版解决文件上传IEEE PDF eXpress字体未嵌入

文件上传IEEE PDF eXpress字体未嵌入问题 Errors: Font Arial-BoldMT, Arial-ItalicMT, ArialMT is not embedded (93x on pages 2-3,5) 因为没安装adobe,尝试使用福昕阅读器高级版解决(学校统一买的,不知道普通版行不行) 找到潜…

人工智能在智能家居的应用

AI 在智能家居场景中,一方面将进一步推动家居生活产品的智能化,包 括照明系统、音箱系统、能源管理系统、安防系统等,实现家居产品从感知到认知再到决策的 发展;另一方面在于智能家居系统的建立,搭载人工智能的多款产品…

如何管理好自己的LabVIEW项目

在LabVIEW项目开发中,项目管理对于提高开发效率、确保项目质量、减少错误和维护成本至关重要。以下从项目规划、代码管理、测试与调试、版本控制、团队协作等方面,分享LabVIEW项目管理的体会。 ​ 1. 项目规划与需求分析 关键步骤: 需求分析…

51c自动驾驶~合集10

我自己的原文哦~ https://blog.51cto.com/whaosoft/11638131 #端到端任务 说起端到端,每个从业者可能都觉得会是下一代自动驾驶量产方案绕不开的点!特斯拉率先吹响了方案更新的号角,无论是完全端到端,还是专注于planner的模型&a…

vs2022搭建opencv开发环境

1 下载OpenCV库 https://opencv.org/ 下载对应版本然后进行安装 将bin目录添加到系统环境变量opencv\build\x64\vc16\bin 复制该路径 打开高级设置添加环境变量 vs2022新建一个空项目 修改属性添加头文件路径和库路径 修改链接器,将OpenCV中lib库里的o…

蓝牙音响音频功放:【矽源特HAA9809 AB+D类自动切换】

目录 1:HAA9809特性 2:典型应用电路 3:CTRL管脚控制信息 4:一线脉冲控制方式 5:输入电阻,调节放大增益 6:输入电容,调节频响 7:总结 矽源特ChipSourceTek-HAA9809…

大语言模型安全,到底是什么的安全

什么是AI安全 自ChatGPT问世以来,市场上涌现出了众多大型语言模型和多样化的AI应用。这些应用和模型在为我们的生活带来便利的同时,也不可避免地面临着安全挑战。AI安全,即人工智能安全,涉及在人工智能系统的开发、部署和使用全过…

云岚到家 秒杀抢购

目录 秒杀抢购业务特点 常用技术方案 抢券 抢券界面 进行抢券 我的优惠券列表 活动查询 系统设计 活动查询分析 活动查询界面显示了哪些数据? 面向高并发如何提高活动查询性能? 如何保证缓存一致性? 数据流 Redis数据结构设计 如…

餐饮点餐系统(2)

今天我们继续完成我们的项目,本次的目标是为每一个分支选项,创建菜单。 分析:1.首先我们要为每一个分支选项创建一个函数 2.其次是调用我们创建的函数 3.最后创建的自定义函数中会用到,while语句,switch语句&#xff…

某军工变压器企业:通过集团级工业IOT平台,实现数字化转型

概述 近年来,随着全球电力需求的增长和智能电网的推进,变压器市场规模持续扩大。2023年,全球配电变压器市场规模达到143.21亿美元,同比增长8.12%。中国配电变压器市场规模在2023年达到194.35亿元,同比增长14.53%‌。此…

caozha-CEPCS(新冠肺炎疫情防控系统)

caozha-CEPCS,是一个基于PHP开发的新冠肺炎疫情防控系统,CEPCS(全称:COVID-19 Epidemic Prevention and Control System),可以应用于单位、企业、学校、工业园区、村落等等。小小系统,希望能为大…

第8章利用CSS制作导航菜单

8.1 水平顶部导航栏 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title></title></head><body><center><h3>简单水平菜单导航栏</h3></center><hr /><nav><ul&g…

《青牛科技GC6150:摇头机驱动芯片的卓越替代品,超越 TMI8150》

在终端工程师们精心打造的科技世界里&#xff0c;摇头机的性能优化一直是关注焦点。今天&#xff0c;我们要向各位终端工程师介绍一款具有革命性的驱动芯片 —— 芯麦 GC6150&#xff0c;它宛如一颗耀眼的明星&#xff0c;在摇头机驱动领域绽放光芒&#xff0c;并且能够完美替代…

C++转义序列

\b \b是一个退格符&#xff08;backspace character&#xff09;&#xff0c;它的作用是将光标向左移动一个位置&#xff0c;但并不会删除光标位置上的字符。这个行为在某些情况下可能会导致视觉上的字符“消失”&#xff0c;但实际上这些字符仍然存在于输出缓冲区中&#xf…

Chrome DevTools Protocol 入门:快速开始

Chrome DevTools Protocol&#xff08;CDP&#xff09; 是一套开放协议&#xff0c;允许外部程序通过 Chrome 浏览器提供的接口与其进行交互。CDP 提供了丰富的功能&#xff0c;使开发者可以远程控制 Chrome 浏览器&#xff0c;包括操作 DOM、监控网络请求、调试代码、截取屏幕…

TCP协议详解

一、整体抓包情况 192.168.111.1:53965请求向192.168.111.128:80发起TCP连接。 注意&#xff1a;TCP连接是TCP端口向TCP端口的连接。 二、TCP连接请求&#xff08;三次握手&#xff09; 此处为简洁隐去端口号。 &#xff08;1&#xff09;192.168.111.1——>192.168.11…

vue+Springboot实现简单文件上传到本地

实现效果 点击上传文件按钮后&#xff0c;选择需要上传的文件&#xff0c;如果是图片的话&#xff0c;上传成功后可以直接在下面预览。 前端页面 <template><div class"file-upload"><el-upload:headers"getUploadConfig(token).headers"…

闯关leetcode——3206. Alternating Groups I

大纲 题目地址内容 解题代码地址 题目 地址 https://leetcode.com/problems/alternating-groups-i/description/ 内容 There is a circle of red and blue tiles. You are given an array of integers colors. The color of tile i is represented by colors[i]: colors[i…

QT Unknown module(s) in QT 以及maintenance tool的更详细用法(qt6.6.0)

不小心接了同事的委托&#xff0c;帮改一个qt的工程代码。然后出事了&#xff0c;那个proj是qt5.9版本的吧&#xff0c;搞到6.6版本的环境中各种问题。至少有3个是这样的&#xff1a; :-1: error: Unknown module(s) in QT: multimedia 直接百度&#xff0c;好像很简单&#x…