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

ubuntu中上传项目至GitHub仓库教程

一、到github官网注册用户

1.注册用户

地址:https://github.com/

2.安装Git

打开终端,输入指令git,检查是否已安装Git

如果没有安装就输入指令

sudo apt-get install git

二、上传项目到github

1.创建项目仓库

进入github主页,点击+号,选择New repository,输入项目名字,创建新的仓库。

 

2.仓库初始化

主目录下新建 目录 github  然后  cd  进入

输入命令

git init

终端会显示类似下面的文字

3.添加仓库索引

添加本地仓库(当前文件夹)的所有文件,把项目文件拷贝进来

git add .
4.添加评论:

这里""可以自由填写上传备注,一般为项目版本号或修改备注等

git commit -m "first commit" 

这里按照提示输入命令即可:

 git config --global user.email "you@example.com"git config --global user.name "Your Name"

然后继续进行提交:

5. 清空当前远程oringin
git remote rm origin

6. 新建仓库名.git
git remote add origin https://github.com/你的用户名/你的项目名.git

7. 上传代码
git push -u origin master

 问题1:鉴权失败

你正在尝试使用用户名和密码进行 GitHub 身份验证,但由于 GitHub 于2021年8月13日停止支持密码身份验证,因此你需要使用其他身份验证方法。

解决方案:

生成个人访问令牌
推荐的替代方法是使用个人访问令牌(Personal Access Token,简称 PAT)进行身份验证。你可以在 GitHub 的设置页面中生成一个 PAT,并将其用作密码来进行身份验证。
生成 PAT 的步骤如下:

点击页面右上角的头像,然后点击 “Settings”。

输入一个描述,以便记住这个令牌是用来干什么的,并选择需要的权限。

  • 点击 “Generate token”。

复制生成的令牌并保存到安全的地方。

然后,使用生成的 PAT 替换密码来进行身份验证。输入用户名时,将 PAT 作为密码提供给 Git。这样应该可以成功进行身份验证并推送你的更改。

问题二:无法访问403

解决方案:

生成SSH 密钥对

从错误信息来看,GitHub 不再支持密码认证,这意味着你需要使用其他认证方式来推送代码。推荐的认证方式是使用 SSH 密钥对。需要完成以下步骤:

  • 生成SSH密钥对:如果您尚未生成SSH密钥对,则需要在本地计算机上生成它。您可以在终端中执行以下命令:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

在这里替换 your_email@example.com 为你在GitHub上注册的电子邮件地址。按照提示一直按回车键即可使用默认设置生成密钥对。

  • 添加SSH密钥到GitHub帐户:生成密钥对后,你需要将公钥添加到GitHub帐户中。你可以执行以下命令将公钥复制到剪贴板:
  • cat ~/.ssh/id_rsa.pub | pbcopy    # For macOS
    cat ~/.ssh/id_rsa.pub | clip      # For Windows
    cat ~/.ssh/id_rsa.pub             # For Linux

然后,将公钥粘贴到GitHub网站的设置中。转到 GitHub 主页 -> Settings -> SSH and GPG keys -> New SSH key,然后将公钥粘贴到相应的字段中。

 

  • 将存储库的远程URL从HTTPS切换到SSH:在你的本地存储库中,使用以下命令将远程URL从HTTPS切换到SSH:
 git remote set-url origin git@github.com:2018LSG888/ROS2.git

8.成功上传代码

参考资料:

Ubuntu项目上传Github_ubuntu上传github-CSDN博客

Ubuntu20.04上传项目至GitHub仓库_ubuntu上传github-CSDN博客

http://www.lryc.cn/news/2387118.html

相关文章:

  • [Java实战]Spring Boot整合达梦数据库连接池配置(三十四)
  • windows 下用yolov5 训练模型 给到opencv 使用
  • Spark集群架构解析:核心组件与Standalone、YARN模式深度对比(AM,Container,Driver,Executor)
  • Linux Kernel调试:强大的printk(二)
  • Kafka Kraft模式集群 + ssl
  • [crxjs]自己创建一个浏览器插件
  • 类的设计模式——单例、工厂以及建造者模式
  • STM32之看门狗(IWDG)
  • PyTorch实现MLP信用评分模型全流程
  • 语音识别——文本转语音
  • 跟着华为去变革 ——读《常变与长青》有感
  • 图像分割技术的实现与比较分析
  • node.js配置变量
  • Ubuntu+Docker+内网穿透:保姆级教程实现安卓开发环境远程部署
  • 为什么需要清除浮动?清除浮动的方式有哪些?
  • 计算机网络学习20250526
  • ArkUI:鸿蒙应用响应式与组件化开发指南(一)
  • YOLOv11改进 | Neck篇 | 双向特征金字塔网络BiFPN助力YOLOv11有效涨点
  • C/C++的OpenCV 进行轮廓提取
  • 计算机网络总结(物理层,链路层)
  • TIGER - 一个轻量高效的语音分离模型,支持人声伴奏分离、音频说话人分离等 支持50系显卡 本地一键整合包下载
  • yolov8,c++案例汇总
  • 无人机降落伞设计要点难点及原理!
  • 20250526给荣品PRO-RK3566的Android13单独编译boot.img
  • vue3项目动态路由的相关配置踩坑记录
  • git子模块--命令--列表版
  • C++(4)
  • 构建版本没mac上传APP方法
  • 如何解决大模型返回的JSON数据前后加上```的情况
  • 本地处理 + GPU 加速 模糊视频秒变 4K/8K 修复视频老旧素材