当前位置: 首页 > article >正文

使用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.kler.cn/a/395745.html

相关文章:

  • 【Linux网络编程】简单的UDP网络程序
  • STM32芯片EXIT外部中断的配置与原理
  • Javascript中的深浅拷贝以及实现方法
  • 【Qt聊天室客户端】消息功能--发布程序
  • 【数据结构】AVL树
  • 软件工程笔记二—— 软件生存期模型
  • Python爬虫----python爬虫基础
  • Liunx-Ubuntu22.04.1系统下配置Anaconda+pycharm+pytorch-gpu环境配置
  • OpenAI官方发布:利用ChatGPT提升写作的12条指南
  • 低资源集群中的大语言模型分布式推理技术:Reduce、LayerNorm和Broadcast的作用
  • 基于yolov8、yolov5的鸟类分类系统(含UI界面、训练好的模型、Python代码、数据集)
  • vue使用vite-plugin-svg-icons插件组件化svg图片
  • MybatisPlus的基础使用
  • MySQL数据库入门到大牛尚硅谷宋红康老师笔记 基础篇 part 2
  • CICD持续集成与持续交付
  • go-bindata
  • 酷炫的鼠标移入效果(附源码!!)
  • Web基础1 -- HTML(超文本标记语言)
  • Python调用API翻译Excel中的英语句子并回填数据
  • 3. Spring Cloud Eureka 服务注册与发现(超详细说明及使用)
  • 计算机网络中的域名系统(DNS)及其优化技术
  • 电子应用产品设计方案-9:全自动智能马桶系统设计方案
  • 面试问答:什么是滑动窗口
  • 一文说清:C静态库与动态库的区别
  • C#桌面应用制作计算器
  • 开源项目推荐——OpenDroneMap无人机影像数据处理