【GitHub】如何将本地项目推送到GitHub 终端 or IDEA

1. 前提条件

  • GitHub账号:您需要一个GitHub账号。如果您还没有,您可以在GitHub官网上注册一个免费的账号。
  • Git安装:如果您的系统上还没有安装Git,请按照以下步骤进行安装。

2. 安装Git

2.1 在macOS上安装Git

您可以通过多种方式安装Git,最常用的方式是通过Homebrew(如果您没有安装Homebrew,请先访问Homebrew官网进行安装)。

  1. 打开Terminal,运行以下命令安装Git:

    brew install git
    
  2. 安装完成后,您可以通过以下命令确认Git是否安装成功:

    git --version
    

    如果安装成功,您将看到Git的版本号,例如:git version 2.30.1

2.2 在Windows上安装Git

  1. 访问Git for Windows并下载Git安装包。

  2. 运行安装程序并按照提示进行安装。在安装过程中,您可以使用默认设置或根据需要自定义设置。

  3. 安装完成后,打开Git Bash并运行以下命令确认安装成功:

    git --version
    

    如果安装成功,您将看到Git的版本号。


3. 在GitHub上创建仓库

3.1 创建一个新的GitHub仓库

  1. 登录到GitHub,点击右上角的“+”符号,并选择“New repository”(新建仓库)。

  2. 在“Repository name”字段中为您的项目命名。您可以选择公开或私有仓库。如果是私有仓库,只有您和被授权的人可以访问。如果是公开仓库,所有人都可以看到。

  3. 选填“Description”(描述)字段,添加项目的简要描述。

  4. 不要勾选“Initialize this repository with a README”,因为我们将从本地项目推送文件到GitHub。

  5. 点击“Create repository”按钮,完成创建。您将看到一个页面,提示如何从本地推送项目到GitHub。


4. 将本地项目与GitHub仓库关联

现在,您已经有了GitHub仓库,接下来需要将本地项目与该仓库关联。

4.1 初始化本地Git仓库

  1. 打开终端(macOS)或Git Bash(Windows),导航到您的项目文件夹:

    cd /path/to/your/local/project
    
  2. 初始化一个Git仓库:

    git init
    

    这将创建一个名为.git的隐藏文件夹,Git将使用该文件夹来跟踪项目中的更改。

4.2 添加文件到Git仓库

  1. 运行以下命令将所有文件添加到Git的暂存区:

    git add .
    

    这条命令会添加当前目录下的所有文件。如果您只想添加特定文件,可以用git add <文件名>命令。

  2. 提交文件:

    git commit -m "Initial commit"
    

    这将所有暂存区中的文件提交到本地Git仓库,并附上提交信息“Initial commit”。

4.3 将本地仓库与GitHub仓库关联

  1. 在GitHub上创建仓库后,您应该会在页面上看到类似如下的信息:

    git remote add origin https://github.com/your-username/your-repository.git
    

    这条命令将您的本地Git仓库与GitHub上的远程仓库关联起来。运行这条命令:

    git remote add origin https://github.com/your-username/your-repository.git
    
  2. 验证远程仓库是否正确添加:

    git remote -v
    

    您应该会看到类似以下的输出:

    origin  https://github.com/your-username/your-repository.git (fetch)
    origin  https://github.com/your-username/your-repository.git (push)
    

5. 将本地项目推送到GitHub

现在,您已经将本地Git仓库与GitHub远程仓库关联。接下来,我们将项目推送到GitHub。

5.1 推送代码到GitHub

  1. 首先,将代码推送到GitHub仓库的main分支(默认分支):

    git push -u origin main
    

    如果您的默认分支是master,则需要将main替换为master

    解释:

    • -u 选项将当前分支与远程分支进行关联。
    • origin 是远程仓库的别名。
    • main 是您要推送到的分支。
  2. Git会提示您输入GitHub用户名和密码。现在GitHub使用**Personal Access Token (PAT)**替代密码,请前往GitHub设置页面创建一个PAT,并在此输入。

    访问此链接以创建令牌:GitHub Personal Access Token。

5.2 验证推送是否成功

推送成功后,您可以在GitHub仓库的页面上看到所有文件。这样,本地项目就成功推送到了GitHub。


6. 处理常见问题

6.1 忘记添加.gitignore

如果您忘记在项目中添加.gitignore文件,导致某些不必要的文件(例如node_modules、日志文件)被提交,可以按如下步骤操作:

  1. 创建或修改.gitignore文件并添加您想要忽略的文件或文件夹。

  2. 运行以下命令将更改应用:

    git rm -r --cached .
    git add .
    git commit -m "Updated .gitignore"
    git push
    

6.2 Git身份验证问题

如果您每次推送都需要输入用户名和密码,可以配置SSH Key:

  1. 生成SSH Key:

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    

    按提示操作,完成后将生成一个SSH密钥对。

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

    • 在终端运行以下命令查看公钥:

      cat ~/.ssh/id_rsa.pub
      
    • 复制输出的内容,打开GitHub的“Settings” -> “SSH and GPG keys”,点击“New SSH Key”并粘贴公钥。

  3. 配置SSH远程仓库地址:

    git remote set-url origin git@github.com:your-username/your-repository.git
    

    之后,您就可以通过SSH推送代码,而无需输入密码。

7 通过IntelliJ IDEA将本地项目上传到GitHub

7.1. 前提条件

在使用IntelliJ IDEA推送代码到GitHub之前,确保以下条件已满足:

  1. GitHub账号:你已注册并拥有一个GitHub账户。
  2. Git安装:Git必须安装并配置在你的系统中,确认安装的方法可参考之前教程中的安装步骤。
  3. GitHub Token配置:GitHub不再使用直接的密码验证,因此您需要在GitHub上创建Personal Access Token,并在推送代码时使用。
7.1.1 配置GitHub Token(如果未配置)
  1. 登录到GitHub,导航到 Settings -> Developer Settings -> Personal access tokens
  2. 点击“Generate new token”按钮,设置一些必要的权限(如repo权限,用于访问和推送仓库)。
  3. 生成的Token将用于IDEA连接GitHub。

7.2. 通过IntelliJ IDEA将本地项目上传到GitHub

7.2.1 设置GitHub账户
  1. 打开IntelliJ IDEA,进入项目。
  2. 进入菜单栏的File -> Settings(macOS上是IntelliJ IDEA -> Preferences)。
  3. 在左侧导航栏中选择 Version Control -> GitHub
  4. 点击右上角的+号按钮,添加GitHub账户。登录方式有两种:
    • 使用GitHub账户直接登录:如果你选择这种方式,系统会引导你在浏览器中授权。
    • 使用Token登录:你可以将之前生成的GitHub Token粘贴到对应的输入框中。
7.2.2 初始化本地Git仓库
  1. 在IDEA中打开您的项目。
  2. 进入菜单栏的VCS -> Enable Version Control Integration
  3. 在弹出的对话框中选择Git,然后点击OK

此时,您的项目已经初始化为一个Git仓库,IntelliJ IDEA会开始跟踪项目的文件变化。

7.2.3 将本地项目提交到Git(本地)
  1. 右键点击项目根目录中的任意文件,选择Git -> Add。这会将所有更改的文件添加到Git暂存区。

    或者,您也可以直接点击右上角的 Commit 按钮(或快捷键 Cmd+K / Ctrl+K),将所有未暂存的更改提交。

  2. 在弹出的Commit Changes窗口中:

    • 选中您要提交的文件(或默认选择所有文件)。
    • Commit Message框中填写提交信息,如Initial Commit
    • 点击Commit按钮提交更改到本地Git仓库。
7.2.4 在GitHub上创建仓库
  1. 打开GitHub,点击页面右上角的“+”符号,选择New repository
  2. 设置仓库名称,填写描述(可选),选择是公开还是私有仓库。不要初始化README,因为我们会将本地项目推送过去。
  3. 点击“Create repository”按钮完成创建。
7.2.5 将本地项目推送到GitHub
  1. 在IDEA中,进入菜单栏的VCS -> Git -> Remotes,然后点击+号。

  2. 在弹出的窗口中,在Name字段填入 origin,在URL字段填入您刚刚在GitHub上创建的仓库URL,例如:

    https://github.com/your-username/your-repository.git
    
  3. 点击OK,保存远程仓库设置。

  4. 在右上角点击Git工具栏中的Push按钮,或者通过快捷键 Cmd+Shift+K(macOS)或 Ctrl+Shift+K(Windows/Linux)打开推送窗口。

  5. 在弹出的Push窗口中确认您要推送的分支(通常是mainmaster分支),然后点击Push

  6. 如果您是第一次推送,可能会弹出窗口提示输入GitHub用户名和密码。此时,您应输入GitHub的Personal Access Token作为密码。

7.2.6 验证推送是否成功

推送成功后,您可以在浏览器中访问您的GitHub仓库页面,查看所有文件是否正确上传。如果推送成功,您会看到所有项目文件已经同步到远程仓库。


8. 在IDEA中常用Git操作

8.3.1 提交文件(Commit)
  • 提交更改:在IntelliJ IDEA中右上角点击Commit按钮。您可以选择需要提交的文件,填写提交信息,并点击Commit完成提交操作。
8.3.2 推送到远程仓库(Push)
  • 每次提交本地更改后,您可以通过Push按钮将更改推送到远程仓库。可以使用快捷键Cmd+Shift+K(macOS)或 Ctrl+Shift+K(Windows/Linux)。
8.3.3 拉取远程仓库的更改(Pull)
  • 如果远程仓库有更新的内容,您可以使用Git -> Pull从远程仓库拉取最新的更改。
8.3.4 创建分支(Branch)
  1. 在右下角的Git分支管理工具中,点击当前分支名,选择New Branch
  2. 在弹出的对话框中为新分支命名,然后点击Create
8.3.5 合并分支(Merge)
  1. 切换到您希望合并到的分支。
  2. 在Git分支管理工具中,选择Merge into Current,然后选择要合并的分支。

9. 常见问题

9.1 提交时忘记添加.gitignore文件

如果提交代码时忘记添加.gitignore,可以在提交之后添加.gitignore,然后执行以下步骤:

  1. 创建或修改.gitignore文件,添加要忽略的文件或文件夹。
  2. 点击Git -> Show Git Changes(或使用Alt+9打开Version Control工具窗口)。
  3. 右键选择被跟踪的文件(即你不想要的文件),选择Git -> Untrack Files
  4. 然后重新提交并推送修改。
9.2 推送时提示权限问题

如果在推送代码时出现权限问题,可能是因为没有正确配置GitHub的凭证(例如PAT)。您可以通过以下方式修复:

  1. 进入菜单栏的File -> Settings -> Version Control -> GitHub,重新配置GitHub Token。
  2. 检查远程仓库的URL是否正确配置,使用 VCS -> Git -> Remotes 确保远程仓库是使用正确的GitHub URL。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

三菱变频器Modbus-RTU 通讯规格

能够从变频器的 RS-485 端子使用 Modbus-RTU 通讯协议&#xff0c;进行通讯运行和参数设定。 NOTE: 1、使用 Modbus-RTU 通讯协议时&#xff0c;请设定Pr.549 协议选择 “1” 2、从主机按地址0(站号0)进行hodbus-RTU通讯时&#xff0c;为广播通讯&#xff0c;变频器不向主机发…

软件设计画图,流程图、甘特图、时间轴图、系统架构图、网络拓扑图、E-R图、思维导图

目录 一、流程图 二、甘特图 三、时间轴图 四、系统架构图 五、网络拓扑图 六、E-R图 七、思维导图 一、流程图 是一种用符号表示算法、工作流或流程的图形。用不同的图形表示不同含义&#xff0c;如椭圆表示开始和结束、菱形表示判断等。 画图工具WPS office 应用市场…

idea启动oom了解决

解决 Error:java: java.lang.OutOfMemoryError: WrappedJavaFileObject[org.jetbrains.jps.javac.InputFileObject[file:///D:/mingan/pb/backend/src/main/java/com/cy/backend/service/impl/StorageServiceImpl.java]]pos36199: WrappedJavaFileObject[org.jetbrains.jps.j…

松材线虫目标检测数据集,12522张图-纯手工标注

松材线虫目标检测数据集&#xff0c;12522张图像&#xff0c;专家纯手工标注。 松材线虫目标检测数据集 数据集描述 该数据集是一个专门用于松材线虫&#xff08;Bursaphelenchus xylophilus&#xff09;检测的数据集&#xff0c;旨在帮助研究人员和开发者训练和评估基于深度…

地平线4登录xbox后提示需要登录档案怎么解决

这个游戏是真nt&#xff08;在联机上&#xff09;&#xff0c;典型搞联机2小时游玩半小时&#xff0c;多半时间都花费在联机上了&#xff0c;不是为了联机和朋友跑车&#xff0c;早给他卸载了。 本人的游戏问题&#xff1a;看了一些视频感觉没什么作用&#xff0c;我的现象就是…

gcc配合cython编译python源代码

以前我们一般用Nuitka或者Pyinstaller来将python源码编译成二进制可执行文件。今天我们学习如何直接用gcc来编译。 很简单的一个python程序&#xff0c;结构如下。包含一个model.py和main.py 步骤1&#xff1a;处理main.py 处理main.py。即主程序入口 cython -D -2 --embe…

BGP 路由反射器

转载&#xff1a;BGP 路由反射器 / 实验介绍: / 原理概述 缺省情况下&#xff0c;路由器从它的一个 IBGP 对等体那里接收到的路由条目不会被该路由器再传递给其他IBGP对等体&#xff0c;这个原则称为BGP水平分割 原则&#xff0c;该原则的根本作用是防止 AS 内部的 BGP 路由…

化学分子结构检测系统源码分享

化学分子结构检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer…

CleanClip For Mac 強大的剪貼簿助手Paste替代工具 v2.2.1

软件介绍&#xff1a; CleanClip是一款专为Mac设计的强大剪贴板管理工具&#xff0c;旨在提升用户的工作效率和生产力。这款应用完全采用原生Swift编写&#xff0c;为Mac用户提供了流畅、快速且直观的使用体验。CleanClip不仅支持文本内容的管理&#xff0c;还能处理图片、文件…

C++11——lambda

lambda lambda的介绍lambda的使用lambda的细节->捕捉列表 lambda的介绍 lambda是匿名函数&#xff0c;再适合的场景去使用可以提高代码的可读性。 场景&#xff1a; 假设有一个Goods类需要进行按照价格、数量排序 class Goods {string name;size_t _price;//价格int num;/…

攻击者将恶意软件分解成小块并绕过您的安全网关

近二十年来&#xff0c;安全 Web 网关 (SWG) 一直用于监控网络流量、拦截恶意文件和网站以及保护企业免受 Web 威胁。 如今&#xff0c;许多企业都相信他们的 SWG 能够捕获所有已知恶意软件&#xff0c;正如其 SLA &#xff08;服务质量保证&#xff09;中所承诺的那样。 然而…

Docker 里面按照ifconfig

1. 进入Docker 容器内部 docker exec -it xxx bash2. 安装 net-tools iputils-ping apt-get update && apt-get install -y net-tools apt-get update && apt-get install -y iputils-ping 3. 执行ifconfig 执行ping

WebLogic 后台弱⼝令GetShell

漏洞描述 通过弱⼝令进⼊后台界⾯ , 上传部署war包 , getshell 影响范围 全版本&#xff08;前提后台存在弱⼝令&#xff09; 环境搭建 cd vulhub-master/weblogic/weak_password docker-compose up -d 漏洞复现 默认账号密码&#xff1a;weblogic/Oracle123 weblogic…

ChatCADChatCAD+:Towards a Universal and Reliable Interactive CAD using LLMs

ChatCAD&#xff08;论文链接&#xff1a;[2302.07257] ChatCAD: Interactive Computer-Aided Diagnosis on Medical Image using Large Language Models (arxiv.org)&#xff09; 网络流程图&#xff1a; 辅助阅读&#xff1a; 基于大型语言模型的医学图像交互式计算机辅助诊…

数据结构--双链表

目录 一、引言 二 、链表的分类 1.单向或双向 2.带头或不带头 3.循环或不循环 三、双链表的概念与基本结构 1.概念 2.基本结构 三、双链表的常见操作 1.创建节点 2.初始化 3.头插 4.尾插 5.头删 6.尾删 7.打印 8.查找 9.插入节点 10.删除节点 11.销毁链…

gin配置swagger文档

一、基本准备工作 1、安装依赖包 go get -u github.com/swaggo/swag/cmd/swag go get -u github.com/swaggo/gin-swagger go get -u github.com/swaggo/files2、在根目录上配置swagger的路由文件 //2.初始化路由router : initialize.Routers()// 配置swaggerdocs.SwaggerInfo…

京东商品属性的详细api数据解析:颜色、尺寸与材质

京东&#xff08;JD.com&#xff09;作为一个大型电商平台&#xff0c;其商品信息通过API接口提供给开发者或第三方服务使用&#xff0c;以便进行商品搜索、展示、分析等操作。然而&#xff0c;直接访问京东的详细商品属性&#xff08;如颜色、尺寸、材质等&#xff09;API通常…

uniapp|微信小程序 实现输入四位数 空格隔开

<template><page-meta :page-style"cssVar"></page-meta><view class"container"><u-navbartitle"优惠券兑换"placeholderbgColor"#fff":autoBack"true":titleStyle"{fontFamily: SourceHa…

Maven Helper 插件

推荐指数&#xff1a;★★★★★ 分析依赖冲突插件 Maven Helper插件就可免去命令行困扰。通过界面解决依赖冲突。 点击此按钮&#xff0c;切换到此工具栏 可进行相应操作&#xff1a; Conflicts&#xff08;查看冲突&#xff09;All Dependencies as List&#xff08;列表形…

Java 在 GIS 领域的学习路线?

Java是一门广泛应用于企业级开发的编程语言&#xff0c;而GIS则是一种常用于地理信息处理和分析的技术。将Java与GIS结合起来&#xff0c;可以在企业级应用中实现更多的功能和业务需求&#xff0c;且在实际领域越来越广泛。 Java在GIS中重要的作用 1、跨平台性 Java具有跨平台…