如何在GitHub上传自己的项目?(一文看懂,每一步的操作和解决常见错误的方法)

目录

步骤一:准备 Git 环境

1. 安装 Git

2. 配置 Git

步骤二:在 GitHub 创建一个新的仓库

1. 登录到你的 GitHub 账号。

2. 点击右上角的 + 号,然后选择 New repository。

3. 填写以下信息:

步骤三:将本地项目上传到 GitHub

1. 打开命令行并导航到你的项目目录

3. 将所有文件添加到 Git 暂存区

4. 提交文件

5. 将本地仓库连接到 GitHub 远程仓库

6. 推送代码到 GitHub

步骤四:解决可能遇到的问题

1. 错误 1:Authentication failed

2. 错误 2:fatal: remote origin already exists

3. 错误 3:Permission denied (publickey)

4. 错误 4:Updates were rejected because the tip of your current branch is behind

5. 错误 5:没有权限访问私有仓库

步骤五:查看推送结果


将项目上传到 GitHub 时,可能会遇到各种错误和问题。为了帮助你更顺利地将项目上传,我将提供更详细的步骤,包括每一步的操作和解决常见错误的方法。


步骤一:准备 Git 环境

1. 安装 Git

在上传项目到 GitHub 之前,确保已经在你的电脑上安装了 Git。如果没有安装,请按照以下步骤操作:

  • Windows 用户:下载并安装 Git for Windows。
  • macOS 用户:打开终端并输入 git,系统会自动提示安装 Xcode 命令行工具,按照提示安装。
  • Linux 用户:可以通过软件包管理器安装 Git,如:
    sudo apt-get install git  # Ubuntu/Debian
    sudo yum install git      # CentOS/RHEL
    
2. 配置 Git

安装 Git 后,需要对 Git 进行全局配置,例如设置用户名和邮箱:

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

这些信息将被记录在你每次提交代码的记录中。


步骤二:在 GitHub 创建一个新的仓库

1. 登录到你的 GitHub 账号。
2. 点击右上角的 + 号,然后选择 New repository
3. 填写以下信息:
  • Repository name:输入你的仓库名称。
  • Description (optional):可以为仓库填写描述(可选)。
  • Public/Private:选择仓库是否公开或私有。
  • 勾选 Initialize this repository with a README(可选,初始提交)。
  • 点击 Create repository,完成创建。

步骤三:将本地项目上传到 GitHub

1. 打开命令行并导航到你的项目目录

在命令行中(Windows 使用命令提示符或 PowerShell,macOS 和 Linux 使用终端),进入你项目所在的目录。例如:

cd /path/to/your/project

2. 初始化 Git 仓库

如果项目还没有进行 Git 初始化,可以通过以下命令初始化:

git init

这会在项目的根目录下创建一个 .git 文件夹,Git 会开始跟踪该目录中的文件。

3. 将所有文件添加到 Git 暂存区

使用以下命令将项目中的所有文件添加到 Git 暂存区:

git add .

这会将项目目录中的所有文件标记为准备提交的状态。

4. 提交文件

提交文件并为这次提交添加注释信息(例如 "Initial commit"):

git commit -m "Initial commit"

这会将当前添加的文件提交到本地 Git 仓库。

5. 将本地仓库连接到 GitHub 远程仓库

返回 GitHub,找到刚才创建的仓库页面。页面会显示一个仓库的 URL,例如:

https://github.com/your-username/your-repository.git

使用这个 URL 来连接你的本地仓库和 GitHub 仓库:

git remote add origin https://github.com/your-username/your-repository.git
6. 推送代码到 GitHub

使用 git push 命令将本地提交的代码推送到 GitHub:

git push -u origin master

如果默认的分支是 main 而不是 master,你需要推送到 main 分支:

git push -u origin main

步骤四:解决可能遇到的问题

1. 错误 1:Authentication failed

这个错误通常是在没有正确配置 GitHub 凭证时发生的。

解决方法

  • SSH 密钥:在你的 GitHub 账号中添加 SSH 密钥并通过 SSH 推送代码。详细步骤:

            3.将远程仓库 URL 修改为 SSH 版本:
    git remote set-url origin git@github.com:your-username/your-repository.git
    
    1. 生成 SSH 密钥:
      ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
      

      2.将生成的 SSH 公钥添加到 GitHub:

    • 复制密钥到剪贴板:

      cat ~/.ssh/id_rsa.pub
      
    • 在 GitHub 上,点击 Settings > SSH and GPG keys > New SSH Key,粘贴密钥。
  • Token 认证:GitHub 在 2021 年 8 月后不再支持通过用户名和密码进行操作,改为使用 Personal Access Tokens。

    • 生成 Token:
      • 访问 GitHub 的 Token 生成页面。
      • 点击 Generate new token,选择需要的权限,生成 Token 并复制。
    • 使用 Token 替代密码:
      • 在推送代码时,Git 会要求输入密码,粘贴刚刚生成的 Token 作为密码。
2. 错误 2:fatal: remote origin already exists

这个错误表示已经设置了 origin 远程仓库。

解决方法: 可以通过以下命令先删除旧的 origin 再重新添加:

git remote rm origin
git remote add origin https://github.com/your-username/your-repository.git
3. 错误 3:Permission denied (publickey)

这个错误通常发生在使用 SSH 进行推送时没有正确配置 SSH 密钥。

解决方法: 确保你已经生成并添加了正确的 SSH 密钥到 GitHub 账号。使用以下命令检查你的 SSH 连接是否正确:

ssh -T git@github.com

如果成功连接,会显示一条欢迎信息。

4. 错误 4:Updates were rejected because the tip of your current branch is behind

这个错误表示本地代码和远程仓库的代码有冲突。

解决方法: 使用 git pull 先拉取远程代码并解决冲突后再推送:

git pull origin master --rebase
# 解决冲突后
git push origin master
5. 错误 5:没有权限访问私有仓库

这个问题发生在推送代码时没有正确的权限。

解决方法: 确保你在 GitHub 仓库的协作者列表中,或者已经正确使用了 GitHub Personal Access Token 或 SSH 密钥。


步骤五:查看推送结果

  1. 打开 GitHub,进入你刚刚创建的仓库页面,你应该能看到上传的项目文件。

  2. 如果上传成功,在 GitHub 上你将看到你的项目代码,README 文件(如果有),以及其他相关的提交记录。


通过这些详细步骤和错误解决方法,你可以将项目顺利上传到 GitHub 并在团队或个人项目中进行版本控制和协作。如果遇到其他问题,也可以随时参考 GitHub 的官方文档。

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

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

相关文章

初学java练习题【1】

import java.util.Scanner;public class HelloWorld{public static void main(String[] args){Scanner scannernew Scanner(System.in);//输入工资System.out.println("请输入您的工资:");double d1scanner.nextDouble();System.out.println("请输入…

npm运行时出现npm ERR! builtins is not a function报错!

项目场景: 项目运行时什么都没动都没改突然运行不起来了,报错 TypeError: builtins is not a function 代码什么都没动,不是代码问题,排查后只有可能是node和npm的问题,所以卸载掉node重装重启 解决方案: …

Python RabbitMQ 入门 pika

Python RabbitMQ 入门 RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均…

前端的全栈之路:基于 Vue3 + Nest.js 全栈开发的后台应用

☘️ 项目简介 Vue3 Admin 是一个前端基于 Soybean Admin 二次开发,后端基于 Nest.js 的全栈后台应用,适合学习全栈开发的同学参考学习。 🍁 前端技术栈: Vue3.5、Ant Design Vue、UnoCSS、Pinia 🍁 后端技术栈&…

小程序智能视频制作SDK解决方案,云端智能视频制作

无论是个人分享生活的点滴,还是企业展示品牌故事,一段精心制作的视频总能迅速抓住观众的眼球,传递无限价值。专业视频制作往往门槛较高,不仅需要专业的技能和设备,还耗费大量时间和精力。面对这一挑战,美摄…

jmeter入门: 安装

前提: 安装jdk1.8, 并设置java_home 和path环境变量。 ​​​​​​1. download Apache JMeter - Download Apache JMeter 2. 解压jmeter包 3. 安装插件Install :: JMeter-Plugins.org 下载jar包,放到lib/ext目录 4. 打开jmeter &#xff0…

wpf加载带材料的3D模型(下载的3D预览一样有纹理)

背景:最近真的是忙啊,累出汁水了 整体效果: 放大可以看清砖头: 1、需要自己准备好3D模型,比如我这里是下载的这里的3D Warehouse,下载Collada File格式文件 2、解压可以看到一个model.dae和材料的文件夹&…

科研绘图系列:R语言绘制SCI文章图2

文章目录 介绍加载R包导入数据图a图b图d系统信息介绍 文章提供了绘制图a,图b和图d的数据和代码 加载R包 library(ggplot2) library(dplyr) library(readxl) library(ggpmisc)导入数据 数据可从以下链接下载(画图所需要的所有数据): 百度网盘下载链接: https://pan.baid…

小猿口算APP脚本(协议版)

小猿口算是一款专注于数学学习的教育应用,主要面向小学阶段的学生。它提供多种数学练习和测试,包括口算、速算、应用题等。通过智能化的题目生成和实时批改功能,帮助学生提高数学计算能力。此外,它还提供详细的学习报告和分析,帮助家长和教师了解学生的学习进度和薄弱环节…

YOLOv11训练自己数据集_笔记1

一、前言 yolov11代码地址 分析YOLO11的关键改进点 YOLO11 相比之前版本,带来了五大关键改进: 增强特征提取:通过改进Backbone和Neck架构,新增了C3k2和C2PSA等组件,提升了目标检测的精度。 优化效率和速度&#xff1…

Java面试宝典-Java集合01

Java面试宝典-Java集合01 目录 Java面试宝典-Java集合01 1、Java中常用的集合有哪些? 2、Collection 和 Collections 有什么区别? 3、为什么集合类没有实现 Cloneable 和 Serializable 接口? 4、数组和集合有什么本质区别? 5、数组…

<Project-8.1.1 pdf2tx-mm> Python 调用 ChatGPT API 翻译PDF内容 历程心得

原因 用ZhipuAI,测试用的PDF里,有国名西部省穆斯林,翻译结果返回 “系统检测到输入或生成内容可能包含不安全或敏感内容,请您避免输入易产生敏感内容的提 示语,感谢您的配合” 。想过先替换掉省名、民族名等&#xff…

【AI大模型】LLM主流开源大模型介绍

目录 🍔 LLM主流大模型类别 🍔 ChatGLM-6B模型 2.1 训练目标 2.2 模型结构 2.3 模型配置(6B) 2.4 硬件要求 2.5 模型特点 2.6 衍生应用 🍔 LLaMA模型 3.1 训练目标 3.2 模型结构 3.3 模型配置(7B) 3.4 硬件…

力扣 前缀和

找子数组的个数了解前缀和的基础。 前缀和大致理解为到达某个位置,前面几个数的总和,即s[i1]s[i]a[i1],可以通过一次循环获得。然后几个前缀和作差,即可得到某个位置到某个位置的和,根据map的键值对进行更新次数。 题…

Spring MVC开发必备:@RequestBody复杂数据结构的高效处理策略

前言 如果要传递较为复杂的数据结构,在前台组合起来后传递到后台的话,需要使用RequestBody比如,我们在查询的时候需要限制开始行和查询个数,可以将这两个参数封装成分页参数类 PageParams ,然后将其作为属性添加到要查…

Apache DolphinScheduler-1.3.9源码分析(二)

引言 随着大数据的发展,任务调度系统成为了数据处理和管理中至关重要的部分。Apache DolphinScheduler 是一款优秀的开源分布式工作流调度平台,在大数据场景中得到广泛应用。 在本文中,我们将对 Apache DolphinScheduler 1.3.9 版本的源码进…

pytorch导入数据集

1、概念: Dataset:一种数据结构,存储数据及其标签 Dataloader:一种工具,可以将Dataset里的数据分批、打乱、批量加载并进行迭代等 (方便模型训练和验证) Dataset就像一个大书架,存…

【Ubuntu】在Ubuntu上配置Java环境

【Ubuntu】在Ubuntu上配置Java环境 壹、前言 Java是运用得非常广泛的编程语言,在使用Linux时难免会碰到需要用到JDK的情况,故本文介绍如何在Ubuntu上配置Java21环境。 贰、下载 Java的下载渠道很多,有甲骨文公司的“官方”JDK&#xff0c…

WebGoat JAVA反序列化漏洞源码分析

目录 InsecureDeserializationTask.java 代码分析 反序列化漏洞知识补充 VulnerableTaskHolder类分析 poc 编写 WebGoat 靶场地址:GitHub - WebGoat/WebGoat: WebGoat is a deliberately insecure application 这里就不介绍怎么搭建了,可以参考其他…

小北的技术博客:探索华为昇腾CANN训练营与AI技术创新——Ascend C算子开发能力认证考试(中级)

前言 哈喽哈喽,这里是zyll~,北浊.(大家可以亲切的呼唤我叫小北)智慧龙阁的创始人,一个在大数据和全站领域不断深耕的技术创作者。今天,我想和大家分享一些关于华为昇腾CANN训练营以及AI技术创新的最新资讯和实践经验~(初级证书还没拿到的小伙伴,可以先参考小北的这篇技术…