怎么将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.hqwc.cn/news/126718.html

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

相关文章

深圳市重点实验室申报资格-华夏泰科

深圳市重点实验室&#xff0c;作为中国科技创新的重要推动力量&#xff0c;为科学家、工程师和研究人员提供了一个独特的平台&#xff0c;旨在探索未知领域、攻克科技难题。在这篇文章中&#xff0c;我们将深入介绍深圳市重点实验室的申报条件及注意事项&#xff0c;以便大家更…

C语言之动态内存管理篇(1)

目录 为什么存在动态内存分配 动态内存函数的介绍 malloc free calloc realloc 常见的动态内存错误 今天收假了&#xff0c;抓紧时间写几篇博客。我又来赶进度了。今天我们来讲解动态内存管理。&#x1f197;&#x1f197; 为什么存在动态内存分配 假设我们去实现一个…

Windows 10 没有【休眠】选项的配置操作

目录 一、相关知识 1.1、名词解释 二、睡眠/休眠选项 三、睡眠/休眠配置 3.1 打开休眠配置 3.2 打开休眠功能 一、相关知识 1.1、名词解释 睡眠&#xff1a; 当Windows系统进入睡眠模式之后&#xff0c;将电脑当前的内存中的运行状态和数据存储在硬盘中&#xff0…

java基础-第1章-走进java世界

一、计算机基础知识 常用的DOS命令 二、计算机语言介绍 三、Java语言概述 四、Java环境的搭建 JDK安装图解 环境变量的配置 配置环境变量意义 配置环境变量步骤 五、第一个Java程序 编写Java源程序 编译Java源文件 运行Java程序 六、Java语言运行机制 核心机制—Java虚拟机 核…

LVS和keepalived

Keepalived及其工作原理 Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案&#xff0c;可以解决静态路由出现的单点故障问题。 在一个LVS服务集群中通常有主服务器&#xff08;MASTER&#xff09;和备份服务器&#xff08;BACKUP&#xff09;两种角色的服务器&#x…

【数据结构】栈的实现

&#x1f6a9;纸上得来终觉浅&#xff0c; 绝知此事要躬行。 &#x1f31f;主页&#xff1a;June-Frost &#x1f680;专栏&#xff1a;数据结构 &#x1f525;该文章主要了解实现栈的相关操作。 目录&#xff1a; &#x1f30d; 栈的概念&#x1f30e;栈的实现✉️ 初始化栈 和…

Vscode爆红Delete `␍`eslintprettier/prettier

一、先看报错 文件中爆红&#xff0c;提示 Delete ␍eslintprettier/prettier 二、解决方案 项目根目录下&#xff0c;.prettierrc.js 文件中&#xff1a; endOfLine: auto,三、重启VsCode 此时不在爆红&#xff0c;问题完美解决

UGUI交互组件Button

一.初识Button对象 从菜单中创建Button对象&#xff0c;Button的文本由子节点Text对象显示&#xff0c;Button对象的组件除了基础组件外&#xff0c;还有Image用来显示Button常规态的图片&#xff0c;还有Button组件用来控制点击过渡效果和点击事件的响应。 二.Button组件的属…

python pygame入门 - 安装测试篇

pygame入门 - 安装篇 引言一、安装测试1.1 创建虚拟环境1.2 安装测试pygame 二、查看例程源码2.1 源码位置2.2 简单修改 引言 pygame是Python语言特别为游戏开发而设计的一个开源库。它提供了一系列模块和函数&#xff0c;可以帮助开发者快速构建2D游戏、多媒体应用程序和其他…

MATLAB:线性系统的建模与仿真(含完整程序)

目录 前言实验内容一、先看作业题目要求二、作业正文Modeling LTI systemsEstablish model1.tf(sys2)2. tf(sys3)3.zpk(sys1)4. zpk(sys3)5. ss(sys1)6. ss(sys2)7.[num,den] tfdata(sys1)8.[num,den] tfdata(sys2)9.[num,den] tfdata(sys3)10.[num,den] tfdata(sys1,’v’…

Vue MVVM 模型

一、什么事MVVM 模型 MVVM 是 Model-View-ViewModel 的缩写&#xff0c;它是一种软件架构风格 Model&#xff1a;模型&#xff0c; 数据对象&#xff08;data 函数&#xff09;&#xff0c;如下图 View&#xff1a;视图&#xff0c;模板页面&#xff08;用于渲染数据&#xf…

使用访问图像三种办法,指针,迭代器,动态地址计算

使用访问图像三种办法&#xff0c;指针&#xff0c;迭代器&#xff0c;动态地址计算 指针访问 方法一 #include <opencv2/opencv.hpp> #include <iostream> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp>using n…