如何将本地项目上传到GitHub

在软件开发过程中,将本地项目上传到GitHub是一个非常重要的步骤。它不仅可以帮助你备份代码,还可以让你与团队成员共享和协作开发。本文将详细介绍如何将本地项目上传到GitHub。

前提条件
  1. 已安装Git。如果还没有安装,请参考Git官网进行下载安装。
    ( 或者使用命令一键安装具体参考上篇博客一键安装git
  2. 已创建一个GitHub账号,并创建了一个新的GitHub仓库。
步骤1:在GitHub上创建一个新的仓库
  1. 登录到你的GitHub账户。
  2. 点击右上角的 + 图标,然后选择“New repository”。
  3. 填写仓库名称、描述,并选择仓库的可见性(Public或Private)。
  4. 点击“Create repository”按钮创建新仓库。
步骤2:初始化本地Git仓库

在命令提示符或Git Bash中,导航到你的项目文件夹,并初始化Git仓库:

cd path/to/your/project
git init
步骤3:配置Git用户名和邮箱

在进行首次提交之前,需要配置Git的用户名和邮箱:

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

Your Nameyour-email@example.com替换为你的GitHub用户名和邮箱。

步骤4:创建README文件并提交

创建一个README文件并进行首次提交:

echo "# SchoolMarket" >> README.md
git add README.md
git commit -m "first commit"
步骤5:添加远程仓库并推送

将本地仓库与GitHub上的远程仓库关联起来,并推送代码:

git remote add origin https://github.com/your-username/SchoolMarket.git
git branch -M main
git push -u origin main

在这里插入图片描述

你看到这个GitHub登录界面,通常是在尝试使用Git命令推送代码到GitHub时,Git需要验证你的身份。这是为了确保你的操作权限和安全性。根据这个界面,你可以选择以下方式登录:

使用浏览器登录

  1. 点击“Sign in with your browser”: 这会打开你的默认浏览器,并引导你完成GitHub的登录过程。

  2. 完成浏览器中的登录: 在浏览器中,输入你的GitHub用户名和密码,完成登录过程。

  3. 授权Git操作: 登录成功后,你可能需要授权GitHub桌面应用或命令行工具进行操作。授权后,浏览器会返回一条信息,提示你可以关闭窗口并返回命令行。

  4. 返回命令行: 回到命令行窗口,你应该会看到Git操作继续执行,推送代码到GitHub。

使用代码登录

  1. 点击“Sign in with a code”: 这会生成一个一次性使用的代码,用于验证身份。

  2. 打开浏览器并进入指定的GitHub页面: 按照命令行提示,打开浏览器并访问提供的URL(通常是GitHub的设备激活页面)。

  3. 输入代码: 在浏览器中输入Git生成的一次性代码,验证你的身份。

  4. 完成验证: 验证成功后,回到命令行,Git将会继续执行剩下的操作。

使用Token登录

如果你选择了使用Token登录,可以按照以下步骤操作:

  1. 获取个人访问Token: 打开GitHub,进入“Settings”->“Developer settings”->“Personal access tokens”,生成一个新的Token。确保选择需要的权限(例如repo权限)。

  2. 使用Token登录: 在命令行中使用以下命令配置Token: sh git config --global user.name "Your GitHub Username" git config --global user.email "your-email@example.com" git config --global credential.helper cache

    然后执行推送命令时,Git会提示你输入Token作为密码。

示例操作

以下是一个完整的操作示例,使用浏览器登录:

-m "Add all untracked files" PS E:\campus-market> git push -u origin main ```在执行`git push`命令后,出现登录界面,点击“Sign in with your browser”,按照上述步骤完成登录。登录成功后,Git会自动继续推送代码,你可以在GitHub仓库中查看到最新的提交记录。注意:如果之前已经添加过远程仓库,会提示`remote origin already exists`,这时无需重复添加。
步骤6:添加未跟踪的文件并提交

在进行首次提交后,Git会提示有未跟踪的文件。查看未跟踪的文件,并将它们添加到暂存区:

git status
git add .
git commit -m "Add all untracked files"
步骤7:推送更改到GitHub

将最新的更改推送到GitHub:

git push -u origin main
整个过程示例

以下是完整的操作示例:

PS E:\campus-market> git config --global user.name "Your Name"
PS E:\campus-market> git config --global user.email "your-email@example.com"PS E:\campus-market> echo "# SchoolMarket" >> README.md
PS E:\campus-market> git init
Initialized empty Git repository in E:/campus-market/.git/PS E:\campus-market> git add README.md
PS E:\campus-market> git commit -m "first commit"
[main (root-commit) b1c6a7a] first commit1 file changed, 1 insertion(+)create mode 100644 README.mdPS E:\campus-market> git remote add origin https://github.com/your-username/SchoolMarket.git
PS E:\campus-market> git branch -M main
PS E:\campus-market> git push -u origin main
branch 'main' set up to track 'origin/main'.PS E:\campus-market> git status
On branch main
Your branch is up to date with 'origin/main'.Untracked files:(use "git add <file>..." to include in what will be committed).idea/campus-market.imlcampus-market.zipdb_campus_market.sqlpom.xmlsrc/target/"\347\254\224\350\256\2602024.txt"nothing added to commit but untracked files present (use "git add" to track)PS E:\campus-market> git add .
PS E:\campus-market> git commit -m "Add all untracked files"
[main b2f4a8b] Add all untracked files7 files changed, 200 insertions(+)create mode 100644 .idea/workspace.xmlcreate mode 100644 campus-market.imlcreate mode 100644 campus-market.zipcreate mode 100644 db_campus_market.sqlcreate mode 100644 pom.xmlcreate mode 100644 src/main/java/com/example/App.javacreate mode 100644 target/classes/com/example/App.classPS E:\campus-market> git push
Everything up-to-date

现在,你的本地项目已经成功上传到GitHub。你可以在GitHub仓库页面查看你的项目文件,并与团队成员协作开发。通过这些步骤,你可以轻松地将本地项目上传到GitHub,并保持项目的版本控制。

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

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

相关文章

【linux】信号(三)

本章节将会围绕信号处理进行展开讲解 目录 回顾一下&#xff1a;历史问题&#xff1a;地址空间&#xff1a;键盘的输出如何被检测到&#xff1a;持续更新... 回顾一下&#xff1a; 信号处理也就是信号递达 我们说过递达时一种有3种行为 默认行为忽略行为自定义行为 历史问…

JVM之【字节码/Class文件/ClassFile 内容解析】

说在前面的话 字节码/Class文件/ClassFile 均为同一概念 Java语言:跨平台的语言(write once,run anywhere) 当Java源代码成功编译成字节码后&#xff0c;如果想在不同的平台上面运行&#xff0c;则无须再次编译这个优势不再那么吸引人了。Python、PHP、Perl、Ruby、Lisp等有…

28-LINUX--I/O复用-epoll

一.epoll概述 epoll 是 Linux 特有的 I/O 复用函数。它在实现和使用上与 select、poll 有很大差异。首 先&#xff0c;epoll 使用一组函数来完成任务&#xff0c;而不是单个函数。其次&#xff0c;epoll 把用户关心的文件描述 符上的事件放在内核里的一个事件表中。从而无需像…

xshell远程无法链接上VM的centos7

1、现象如下&#xff0c; 2.解决办法&#xff1a;查证后发现这个默认的设置为vmnet0 3.参考文章&#xff1a;Xshell连接不上虚拟机centos7_centos7的nat模式可以ping通网络,但是用xshell连不上是什么原因-CSDN博客

QT C++(QT控件 QPushButton,QRadioButton,QCheckBox)

文章目录 1. QPushButton 普通按钮2. QRadioButton 单选按钮3. QCheckBox 复选按钮 1. QPushButton 普通按钮 QPushButton中的重要属性 text&#xff1a;按钮中的文本icon&#xff1a;按钮的图标iconSize&#xff1a;按钮中图标的尺寸shortCut&#xff1a;按钮对应的快捷键&a…

STM32编程:实现LED灯闪烁(基于手写SDK的方式)

项目结构 stm32f10x.h 文件 //寄存器的值常常是芯片外设自动更改的&#xff0c;即使CPU没有执行程序&#xff0c;也有可能发生变化 //编译器有可能会对没有执行程序的变量进行优化//volatile表示易变的变量&#xff0c;防止编译器优化&#xff0c; #define __IO volati…

53.ReentrantLock原理

ReentrantLock使用 ReentrantLock 实现了Lock接口&#xff0c; 内置了Sync同步器继承了AbstractQueuedSynchronizer。 Sync是抽象类&#xff0c;有两个实现NonfairSync非公平&#xff0c;FairSync公平。 所以ReentrantLock有公平锁和非公平锁。默认是非公平锁。 public sta…

我的编程语言学习记录:一段不断探索的旅程

目录 我的编程语言学习记录&#xff1a;一段不断探索的旅程 1.引言 2.我的编程之旅开始 第一站&#xff1a;Python — 简洁之美 第二站&#xff1a;JavaScript — 网页的魔法 第三站&#xff1a;Java — 企业级的力量 3.学习过程中的挑战与克服 1.理解概念 3.记忆语法…

读书笔记:左耳听风

程序员如何用技术变现 我完全没有必要通过打工听人安排而活着&#xff0c;而是反过来通过在公司工作提高自己的技能&#xff0c;让自己可以更为独立和自由地生活。 因而&#xff0c;在工作当中&#xff0c;对于那些没什么技术含量的工作&#xff0c;我基本上就像是在学生时代那…

Java 的循环

Java 有三种循环&#xff1a;for&#xff0c;while&#xff0c;do while。 for 基本语法&#xff1a; for (循环变量初始化; 循环条件; 循环变量迭代){循环语句; }程序示例&#xff1a; public static void main(String[] args) {for (int i 0, j 0; i < 3; i, j--) {…

即时设计工具对决:Figma、Sketch与XD的优劣比较

最近几年&#xff0c;UI 设计工具出现了许多后起之秀&#xff0c;其中有四款更具代表性的UI设计软件&#xff1a;Sketch、Adobe XD、Figma 和 即时设计&#xff0c;这四个设计软件都有自己的优势。如果合作对您的UI设计过程至关重要&#xff0c;那么Figma 和 即时设计 它应该是…

FJSP:烟花算法(FWA)求解柔性作业车间调度问题(FJSP),提供MATLAB代码

一、烟花算法介绍 参考文献&#xff1a; Tan, Y. and Y. Zhu. Fireworks Algorithm for Optimization. in Advances in Swarm Intelligence. 2010. Berlin, Heidelberg: Springer Berlin Heidelberg. 二、烟花算法求解FJSP 2.1FJSP模型介绍 柔性作业车间调度问题(Flexible …

SpringBoot: 可执行jar的特殊逻辑

这一篇我们来看看Java代码怎么操作zip文件(jar文件)&#xff0c;然后SpringBoot的特殊处理&#xff0c;文章分为2部分 Zip API解释&#xff0c;看看我们工具箱里有哪些工具能用SpringBoot的特殊处理&#xff0c;看看SpringBoot Jar和普通Jar的不同 1. Zip API解释 1. ZipFil…

Burp Suite Professional 2024.5 (macOS, Linux, Windows) - Web 应用安全、测试和扫描

Burp Suite Professional 2024.5 (macOS, Linux, Windows) - Web 应用安全、测试和扫描 Burp Suite Professional, Test, find, and exploit vulnerabilities. 请访问原文链接&#xff1a;Burp Suite Professional 2024.5 (macOS, Linux, Windows) - Web 应用安全、测试和扫描…

将字符串str1复制为字符串str2

定义两个字符数组str1和str2&#xff0c;再设两个指针变量p1和p2&#xff0c;分别指向两个字符数组中的有关字符&#xff0c;通过改变指针变量的值使它们指向字符串中的不同的字符&#xff0c;以实现字符的复制。编写程序&#xff1a; 运行程序&#xff1a; 程序分析&#xff1…

数据库(28)——联合查询

对于union查询&#xff0c;就是把多次查询的结果合并起来&#xff0c;形成一个新的查询结果集。 语法 SELECT 字段列表 FROM 表A... UNION [ALL] SELECT 字段列表 FROM 表B...; 演示 select * from user where age > 22 union all select * from user where age < 50; u…

MyBatisPlus插件生成代码

文章目录 概要安装插件使用插件 概要 MyBatis-Plus 是 MyBatis 的增强工具&#xff0c;旨在简化 MyBatis 的开发。MyBatis-Plus 代码生成器插件可以自动生成项目中常见的代码&#xff0c;如实体类、Mapper 接口、Service 接口和实现类、Controller 等&#xff0c;从而减少手动…

优化家庭网络,路由器无线中继配置全攻略(中兴E1600无线中继设置/如何解决没有预埋有线网络接口的问题/使用闲置路由实现WIFI扩展)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 网络优化 📒📒 操作步骤 📒💡适用场景🚨 常见问题及解决方案⚓️ 相关链接 ⚓️📖 介绍 📖 在现代家庭生活中,WiFi已经渗透到我们生活的每一个角落,成为了日常生活中不可或缺的一部分。然而,不少用户常常遇到W…

JVM学习-监控工具(一)

使用数据说明问题&#xff0c;使用知识分析问题&#xff0c;使用工具处理问题 无监控&#xff0c;不调优&#xff01; 命令行工具 在JDK安装目录下&#xff0c;可以查看到相应的命令行工具&#xff0c;如下图 jps(Java Process Status) 显示指定系统内所有的Hotpot虚拟机…