怎么将Linux上的文件上传到github上

文章目录

  • 1. 先在window浏览器中创建一个存储项目的仓库
  • 2. 复制你的ssh下的地址
    • 1) 生成ssh密钥 : 在Linux虚拟机的终端中,运行以下命令生成ssh密钥
    • 2)将ssh密钥添加到github账号 : 运行以下命令来获取公钥内容:
  • 3. 克隆GitHub存储库:在Linux虚拟机的终端中,导航到您想要将文件上传到的目录。然后,使用命令`git clone`克隆Github存储库。例如:
  • 4.将文件添加到本地存储库:在虚拟机中,将要上传到GitHub的文件复制到刚刚克隆的存储库目录中。
  • 5.提交更改并推送到远程存储库:在终端中运行以下命令以提交更改并将其推送到远程存储库。
  • 锦囊妙计:你可能用到的补充:
    • 1.
    • 2.
    • 3. 克隆仓库的某个分支
    • 4.

1. 先在window浏览器中创建一个存储项目的仓库

在这里插入图片描述

2. 复制你的ssh下的地址

在这里插入图片描述

一般情况下,你是肯定没有安装过公私钥的,接下来教你安装公钥

1) 生成ssh密钥 : 在Linux虚拟机的终端中,运行以下命令生成ssh密钥

ssh-keygen -t rsa -b 4096 -C "your-email@example.com"然后,你一直按回车就可以了

请确保将"your-email@example.com"替换为您在GitHub上注册的电子邮件地址。然后,按照提示完成密钥生成过程。

2)将ssh密钥添加到github账号 : 运行以下命令来获取公钥内容:

cat ~/.ssh/id_rsa.pub

复制输出的公钥内容。

登录到GitHub账号,点击右上角的头像,进入"Settings"(设置)页面。
选择"SSH and GPG keys"(SSH和GPG密钥)选项卡,点击"New SSH key"(新建SSH密钥)。
在"Title"(标题)字段中,为密钥提供一个描述性的名称(比如 : 直接命名为你服务器的ip地址)。
将之前复制的公钥粘贴到"Key"(密钥)字段中。
最后,点击"Add SSH key"(添加SSH密钥)完成添加过程。

至此,你再重新登录你的github,你会发现,没有之前的警告提示了,说明你已成功添加ssh密钥!!!

在这里插入图片描述

这时候,你就得到了你ssh下的仓库地址:

git@github.com:xxx/xxxxxxx.git

3. 克隆GitHub存储库:在Linux虚拟机的终端中,导航到您想要将文件上传到的目录。然后,使用命令git clone克隆Github存储库。例如:

git clone git@github.com:username/repository.git后面这个:git@github.com:username/repository.git
就是你刚才,得到的你ssh下的仓库地址:
git@github.com:xxx/xxxxxxx.git

此时,你会发现:github上的那个仓库被克隆到了你的虚拟机中

在这里插入图片描述

4.将文件添加到本地存储库:在虚拟机中,将要上传到GitHub的文件复制到刚刚克隆的存储库目录中。

比如 : 我复制了一个Nginx的目录

wxncom@wxncom-virtual-machine:~/T$ ls
Cluster_CPP_server
wxncom@wxncom-virtual-machine:~/T$ cd Cluster_CPP_server/
wxncom@wxncom-virtual-machine:~/T/Cluster_CPP_server$ ls
README.md
wxncom@wxncom-virtual-machine:~/T/Cluster_CPP_server$ cp ../../Nginx/ ./ -r
wxncom@wxncom-virtual-machine:~/T/Cluster_CPP_server$ ls
Nginx  README.md

5.提交更改并推送到远程存储库:在终端中运行以下命令以提交更改并将其推送到远程存储库。

总结一下:

cd repository   # 进入克隆的存储库目录# 前几步,我们已经OK了,直接进行下面的步骤:git config --global user.email "you@example.com"
git config --global user.name "Your Name"git add .       # 添加所有更改的文件
git commit -m "Add files"    # 提交更改,"Add files"是提交的注释
git push origin master    # 推送更改到远程存储库的master分支,注意,一般情况下,刚创建的分支只有main分支,所以你要写git push origin main

在这里插入图片描述

wxncom@wxncom-virtual-machine:~/T/Cluster_CPP_server$ git push origin main
Counting objects: 588, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (573/573), done.
Writing objects: 100% (588/588), 7.38 MiB | 773.00 KiB/s, done.
Total 588 (delta 97), reused 0 (delta 0)
remote: Resolving deltas: 100% (97/97), done.
To github.com:1AoB/Cluster_CPP_server.gitf2603b1..671b6b3  main -> main

呦吼 ! 至此 , 作为一个大?学生,你已掌握了一个非常重要的技能!!!

希望未来 , 咱们能学会更多好玩的it技能!!!

锦囊妙计:你可能用到的补充:

1.

wxncom@wxncom-virtual-machine:~/T/Cluster_CPP_server$ git push origin master
error: src refspec master does not match any.
error: failed to push some refs to 'git@github.com:1AoB/Cluster_CPP_server.git'
wxncom@wxncom-virtual-machine:~/T/Cluster_CPP_server$ git push origin main
To github.com:1AoB/Cluster_CPP_server.git! [rejected]        main -> main (fetch first)
error: failed to push some refs to 'git@github.com:1AoB/Cluster_CPP_server.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.这个错误提示表明远程仓库中的分支与你本地仓库中的分支存在冲突,导致无法推送。解决这个问题的方法是先拉取远程仓库的更新,然后再将你的更改合并后再次进行推送。请按照以下步骤进行操作:1.首先,运行以下命令来拉取远程仓库的更新:
git pull origin main
如果你在本地使用的是 "master" 分支而不是 "main" 分支,请相应地更改命令中的分支名称。2.Git 将尝试自动合并你的更改和远程的更新。如果发生冲突,你需要手动解决冲突。Git 会在出现冲突的文件中标记冲突的部分,你需要编辑这些文件并手动解决冲突。
# 这个时候 , 你应该进入了一个git的文本编辑器
# 这个部分还是不是很懂,如果我的话,当时是其实上误删了一个不重要的文件,然后就产生冲突了,所以到了这一步,我也无序解决什么冲突,直接退出这个界面. 
# <要退出这个界面,你可以按下 Ctrl + X 键,然后输入 Y(表示是)来保存更改,或者输入 N(表示否)来放弃更改并退出。>3.解决完冲突后,运行以下命令将解决后的更改提交到本地仓库:
git add .
git commit -m "Merge remote changes"4.最后,运行以下命令将更改推送到远程仓库:
git push origin main
同样,如果你使用的是 "master" 分支而不是 "main" 分支,请相应地更改命令中的分支名称。通过以上步骤,你应该能够成功将本地更改合并到远程仓库中。

2.

wxncom@wxncom-virtual-machine:~/T/Cluster_CPP_server$ git push origin master
error: src refspec master does not match any.
error: failed to push some refs to 'git@github.com:1AoB/Cluster_CPP_server.git'这个错误提示表明在本地仓库中没有找到名为 "master" 的分支。通常,这是由于还没有进行过任何提交导致的。请按照以下步骤检查和解决问题:1.确保已经进行了至少一次提交:
运行以下命令来查看当前本地分支的情况:
git branch
如果没有任何分支被列出,或者只有默认的 "main" 分支,则说明你尚未进行过任何提交。可以通过运行以下命令来创建并切换到一个新分支(例如 "dev" 分支):
git checkout -b dev
然后添加、提交你的更改:
git add .
git commit -m "Initial commit"2.确定远程仓库的正确名称和地址:
运行以下命令来查看远程仓库的列表:
git remote -v
确保远程仓库的名称为 "origin",且与你要推送的远程仓库地址匹配。3.推送到远程仓库:
运行以下命令来将本地分支推送到远程仓库:
git push origin <branch-name><branch-name> 替换为你想要推送的分支名称(例如 "main""dev")。如果上述步骤中的任何一项出现问题,请检查你的本地仓库状态、远程仓库设置和分支名称,并确保正确操作。

3. 克隆仓库的某个分支

git clone git@github.com:xxxxx/xxxxxxxxxxxxx.git

我发现安装上面的这样,只能克隆仓库的第一个分支,我就想 : 如何修改我就可以克隆任意分支了?

在克隆 Git 仓库时,默认情况下只会克隆主分支(通常是 “master” 或 “main” 分支)。如果你想克隆其他分支,可以通过以下两种方法之一来实现:

  1. 在克隆命令中指定要克隆的分支:
git clone -b <branch-name> git@github.com:1AoB/Cluster_CPP_server.git

<branch-name> 替换为你想要克隆的分支名称。

eg : 如果要克隆 “dev” 分支,可以使用以下命令:

git clone -b dev git@github.com:1AoB/Cluster_CPP_server.git
  1. 克隆完整的仓库,并在克隆后切换到特定分支:
git clone git@github.com:1AoB/Cluster_CPP_server.git
cd Cluster_CPP_server
git checkout <branch-name>

先使用普通的 git clone 命令克隆整个仓库,然后进入克隆后的目录,使用 git checkout 命令切换到你想要的分支。

无论你选择哪种方法,都能够让你克隆特定的分支而不仅仅是默认的主分支。

4.

在git push origin master中,遇到了一个
warning: suboptimal pack - out of memory你觉得,这个有什么影响吗?

当你在 Git 中遇到 “warning: suboptimal pack - out of memory” 的警告消息时,它表示 Git 在创建或操作打包文件时遇到了内存不足的问题。这可能会影响 Git 操作的性能和效率。

这个"内存不足" 的警告消息指的是你的虚拟机或本地系统内存不足,而不是 GitHub 上的内存问题。

系统内存可以类比为手机的运行内存。

这个问题是你的虚拟机不太行,需要花钱升级为系统内存更大的虚拟机.

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

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

相关文章

leetcode42 接雨水

题目 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例 输入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 输出&#xff1a;6 解释&#xff1a;上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高…

Golang网络编程:即时通讯系统Instance Messaging System

系统基本架构 版本迭代 项目改造 无人机是client&#xff0c;我们是server&#xff0c;提供注册登入&#xff0c;场景选择等。信道模拟器是server&#xff0c;我们是client&#xff0c;我们向信道模拟器发送数据&#xff0c;等待信道模拟器计算结果&#xff0c;返回给无人机。…

使用ChatGPT和MindShow一分钟生成PPT模板

对于最近学校组织的实习答辩&#xff0c;由于时间太短了&#xff0c;而且小编也特别的忙&#xff0c;于是就用ChatGPT结合MindShow一分钟快速生成PPT&#xff0c;确实很实用。只要你跟着小编后面&#xff0c;你也可以快速制作出这个PPT&#xff0c;下面小编就来详细介绍一下&am…

联想M7216NWA一体机连接WiFi及手机添加打印机方法

联想M7216NWA一体机连接WiFi方法&#xff1a; 1、首先按打印机操作面板上的“功能键”&#xff1b;【用“”&#xff08;上翻页&#xff09;“-”&#xff08;下翻页&#xff09;来选择菜单的内容】 2、下翻页键找到并选择“网络”&#xff0c;然后“确认键”&#xff1b; 3…

自动驾驶技术的基础知识

自动驾驶技术是现代汽车工业中的一项革命性发展&#xff0c;它正在改变着我们对交通和出行的理解。本文将介绍自动驾驶技术的基础知识&#xff0c;包括其概念、历史发展、分类以及关键技术要素。 1. 自动驾驶概念 自动驾驶是一种先进的交通技术&#xff0c;它允许汽车在没有人…

Docker安装——Ubuntu (Jammy 22.04)

一、为什么要用 Ubuntu&#xff1f;(centos和ubuntu有什么区别&#xff09; 使用lsb_release命令&#xff1a;lsb_release -a &#xff0c;即可查看ubantu的版本&#xff0c;但是为什么要使用ubantu 呢&#xff1f; 区别&#xff1a;1、centos基于EHEL开发&#xff0c;而ubunt…

三十三、【进阶】索引的分类

1、索引的分类 &#xff08;1&#xff09;总分类 主键索引、唯一索引、常规索引、全文索引 &#xff08;2&#xff09;InnoDB存储引擎中的索引分类 2、 索引的选取规则(InnoDB存储引擎) 如果存在主键&#xff0c;主键索引就是聚集索引&#xff1b; 如果不存在主键&#xff…

最新 SpringCloud微服务技术栈实战教程 微服务保护 分布式事务 课后练习等

SpringCloud微服务技术栈实战教程&#xff0c;涵盖springcloud微服务架构Nacos配置中心分布式服务等 SpringCloud及SpringCloudAlibaba是目前最流行的微服务技术栈。但大家学习起来的感受就是组件很多&#xff0c;不知道该如何应用。这套《微服务实战课》从一个单体项目入手&am…

C++项目:仿mudou库one thread one loop式并发服务器实现

目录 1.实现目标 2.HTTP服务器 3.Reactor模型 3.1分类 4.功能模块划分: 4.1SERVER模块: 4.2HTTP协议模块: 5.简单的秒级定时任务实现 5.1Linux提供给我们的定时器 5.2时间轮思想&#xff1a; 6.正则库的简单使用 7.通用类型any类型的实现 8.日志宏的实现 9.缓冲区…

深度学习 图像分割 PSPNet 论文复现(训练 测试 可视化)

Table of Contents 一、PSPNet 介绍1、原理阐述2、论文解释3、网络模型 二、部署实现1、PASCAL VOC 20122、模型训练3、度量指标4、结果分析5、图像测试 一、PSPNet 介绍 PSPNet(Pyramid Scene Parsing Network)来自于CVPR2017的一篇文章&#xff0c;中文翻译为金字塔场景解析…

YOLOv7暴力涨点:Gold-YOLO,遥遥领先,超越所有YOLO | 华为诺亚NeurIPS23

💡💡💡本文独家改进:提出了全新的信息聚集-分发(Gather-and-Distribute Mechanism)GD机制,Gold-YOLO,替换yolov7 head部分 实现暴力涨点 Gold-YOLO | 亲测在多个数据集能够实现大幅涨点,适用各个场景的涨点 收录: YOLOv7高阶自研专栏介绍: http://t.csdnim…

【产品经理】国内企业服务SAAS平台的生存与发展

SaaS在国外发展的比较成熟&#xff0c;甚至已经成为了主流&#xff0c;但在国内这几年才掀起热潮&#xff1b;企业服务SaaS平台在少部分行业发展较快&#xff0c;大部分行业在国内还处于起步、探索阶段&#xff1b;SaaS将如何再国内生存和发展&#xff1f; 在企业服务行业做了五…

钡铼BL124EC实现EtherCAT转Ethernet/IP的优势

钡铼技术的BL124EC是一款用于将EtherCAT从站转换为Ethernet/IP从站的网关设备。它是钡铼技术开发的高性能、可靠的工业自动化通信解决方案之一。 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; BL124EC网关可以应用于多种工业自动化场景&#xff0c;以下…

OSPF的7大状态和5大报文详讲

- Down OSPF的初始状态 - Init 初始化——我刚刚给别人发Hello报文 我们可以将OSPF邻居建立的过程理解为&#xff1a;我和你打招呼&#xff0c;你和我打招呼&#xff0c;然后咱俩成了邻居 比如&#xff1a; R1和R2要建立OSPF邻居 R1给R2发送了Hello报文&#xff0c;但是R1此时…

很烦的Node报错积累

目录 1. 卡在sill idealTree buildDeps2、Node Sass老是安装不上的问题3、unable to resolve dependency tree4、nvm相关命令5、设置淘宝镜像等基操5.1 镜像 5.2 npm清理缓存6、Browserslist: caniuse-lite is outdated loader 1. 卡在sill idealTree buildDeps 参考&#xf…

想要精通算法和SQL的成长之路 - 恢复二叉搜索树和有序链表转换二叉搜索树

想要精通算法和SQL的成长之路 - 恢复二叉搜索树和有序链表转换二叉搜索树 前言一. 恢复二叉搜索树二. 有序链表转换二叉搜索树 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 恢复二叉搜索树 原题链接 首先&#xff0c;一个正常地二叉搜索树在中序遍历下&#xff0c;遍历…

antd的upload上传组件,上传成功后清除表单校验——基础积累

今天在写后台管理系统时&#xff0c;发现之前的一个bug&#xff0c;就是antd的upload上传组件&#xff0c;需要进行表单校验。 直接上代码&#xff1a; 1.html部分 <a-form-modelref"ruleForm":model"form":label-col"labelCol":wrapper-col…

通道剪枝channel pruning

1、相关定义 过参数化&#xff1a;主要是指在训练阶段&#xff0c;在数学上需要进行大量的微分求解&#xff0c;去捕捉数据中微小的变化信息&#xff0c;一旦完成迭代式的训练之后&#xff0c;网络模型在推理的时候就不需要这么多参数。剪枝算法&#xff1a;核心思想就是减少网…

基于DBC Signal Group生成Autosar SR接口(1)

文章目录 前言实现方法结构体在Simulink中的定义SignalGroup提取 总结 前言 在开发Autosar CAN通信模块时&#xff0c;对于Signal Group需要建立对应的Interface,其中的数据类型实际是一个结构体&#xff0c;包含Group中的Signal的数据类型定义。手动建立比较费时间&#xff0…

基于OpenCV设计的流媒体播放器(RTSP、RTMP)

一、前言 随着互联网的普及和发展,流媒体技术已成为日常生活中不可或缺的一部分。流媒体播放器作为流媒体技术的重要组成部分,其性能和功能直接影响到用户的观影体验。本文介绍使用OpenCV和Qt设计一款流媒体播放器,专门用于播放直播视频流,例如RTSP、RTMP。该播放器只播放…