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

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

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

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

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

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

第二步:添加SSH公钥

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

  1. 安装Git工具git下载地址

  2. Git基本信息设置

打开git命令行

在git命令行内输入以下代码:引号内的填写你注册github时的用户名和电子邮件

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

该命令会要求你选择保存位置(默认为 ~/.ssh/id_rsa)和输入密码。

如果你使用默认设置,直接一路回车就行。

  • 添加 SSH 密钥到 SSH 代理
bash 复制代码
eval "$(ssh-agent -s)"
bash 复制代码
ssh-add ~/.ssh/id_rsa
  • 获取并复制 SSH 公钥
    直接在命令行内输入上面的代码,就会出现key,右键复制key(从ssh-rsa开始复制)
bash 复制代码
cat ~/.ssh/id_rsa.pub
  • 将公钥添加到Github
bash 复制代码
1.登录到你的 GitHub 账户。
2.点击右上角的头像,然后选择 Settings。
3.在左侧菜单中,选择 SSH and GPG keys。
4.点击 New SSH key 按钮。
5.在 Title 框中输入一个描述(随便起)。
6.在 Key 框中粘贴你的公钥内容,然后点击 Add SSH key。

弄好就变成这样:

  1. 确认 SSH 配置是否正确

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

bash 复制代码
git remote -v

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

bash 复制代码
git remote set-url origin git@github.com:username/repository.git

SSH 地址在这里复制:点Repositories,找到你需要更改的仓库点进去,点击code,就会出现ssh地址,复制一下~

重新输入git remote -v

会出现:

bash 复制代码
origin  git@github.com:your name/xxx.git (fetch)
origin  git@github.com:your name/xxx.git (push)

5.测试 SSH 连接

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

bash 复制代码
ssh -T git@github.com

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

bash 复制代码
Hi username! You've successfully authenticated, but GitHub does not provide shell access.

这就表示已成功连上github了

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

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

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

  1. 打开Git bash here

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

  1. 初始化仓库
bash 复制代码
git init
  1. 建立本地与github上新建项目连接
bash 复制代码
git remote add origin git@github.com:your name/xxx.git
  1. 同步github新建项目到本地
bash 复制代码
git pull origin master
  1. 修改文件夹,并将新增的文件拷贝到缓存区
bash 复制代码
cd models/ficall/sda

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

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

xxx替换为本次修改的注释

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

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

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

  1. 网络:
    出现报错:
bash 复制代码
$ git clone xxx.git
fatal: unable to access xxx.git/': Failed to connect to github.com port 443 after 21088 ms: Timed out
bash 复制代码
$ 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. 文件太大
bash 复制代码
remote: error: File mindrecord is 240.01 MB; this exceeds GitHub's file size limit of 100.00 MB

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

bash 复制代码
git reset

4.报错:

bash 复制代码
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 个提交

检查是否提交过:

bash 复制代码
git log --oneline

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

如果提交有误想要撤回:

bash 复制代码
git reset --soft HEAD~2#撤回最近的两次次提交并保留更改
git reset --hard HEAD~2#撤回最近的两次次提交并丢弃更改
相关推荐
程序媛Dev32 分钟前
50.4k Star!我用这个神器,在五分钟内搭建了一个私有 Git 服务器!
运维·服务器·git
老马啸西风1 小时前
v0.29.1 敏感词性能优化之内部类+迭代器内部类
性能优化·开源·nlp·github·敏感词
杨杨杨大侠3 小时前
第5章:实现Spring Boot集成
java·github·eventbus
杨杨杨大侠3 小时前
第6章:高级特性与性能优化
java·github·eventbus
澈轩3 小时前
Git 用得好,下班走得早
git
HelloGitHub3 小时前
这款开源调研系统越来越“懂事”了
前端·开源·github
ruanCat3 小时前
配置 github workflow 工作流文件,实现仓库自动更新 github page 站点
github
绝无仅有4 小时前
面试总结之Nginx 经验常见问题汇总第二篇
后端·面试·github
绝无仅有5 小时前
面试实战总结之Nginx配置经验第一篇
后端·面试·github
掘金安东尼5 小时前
Chrome 17 岁了——我们的浏览器简史
前端·javascript·github