把本地项目上传github上

把现有项目上传到 GitHub 主要有两种情况:

  1. 项目还没有进行过版本控制(没有 .git 文件夹)
  2. 项目已经进行过版本控制(有 .git 文件夹)

下面我将详细介绍这两种情况的操作步骤:


情况一:项目还没有进行过版本控制(没有 .git 文件夹)

这是最常见的情况。你需要初始化 Git 仓库,然后上传。

步骤:

  1. 在 GitHub 上创建新的仓库 (Repository)

    • 登录你的 GitHub 账号。
    • 点击页面右上角的 + 号,选择 New repository
    • 填写 Repository name (仓库名称,建议与你的项目文件夹名称相同)。
    • 选择 Public (公开) 或 Private (私有)。
    • 不要 勾选 Add a README fileAdd .gitignoreChoose a license。我们稍后会在本地添加这些文件。
    • 点击 Create repository
    • 创建成功后,GitHub 会显示一些指令,其中会包含一个 ...or push an existing repository from the command line 的部分。请保留这个页面,我们稍后会用到它上面的命令。
  2. 在本地项目文件夹中初始化 Git 仓库

    • 打开你的终端 (Terminal) 或 Git Bash (如果你是 Windows 用户)。

    • 使用 cd 命令进入你的项目文件夹。例如: Bash

      复制代码
      cd /path/to/your/project
    • 初始化 Git 仓库: Bash

      复制代码
      git init

      这会在你的项目文件夹中创建一个隐藏的 .git 文件夹。

  3. 添加项目文件到 Git 暂存区

    • 将所有项目文件添加到 Git 暂存区。. 表示当前目录下的所有文件。 Bash

      复制代码
      git add .

      如果你想忽略某些文件(如编译生成的文件、IDE 配置文件等),可以在项目根目录下创建一个 .gitignore 文件,并在其中列出要忽略的文件或文件夹模式。例如:

      复制代码
      # .gitignore 示例
      *.log
      build/
      .idea/
      node_modules/

      然后在执行 git add .

  4. 提交到本地仓库

    • 提交暂存区的文件到本地 Git 仓库,并添加提交信息。 Bash

      复制代码
      git commit -m "Initial commit"

      "Initial commit" 是你的提交信息,你可以根据需要修改。

  5. 关联远程 GitHub 仓库

    • 回到你在 GitHub 上创建仓库后显示的页面。复制 ...or push an existing repository from the command line 下面的第一行命令,它看起来像这样: Bash

      复制代码
      git remote add origin https://github.com/your-username/your-repository-name.git

      your-username 替换为你的 GitHub 用户名,your-repository-name 替换为你的仓库名称。

    • 在你的终端中执行这条命令。

  6. 推送本地分支到远程仓库

    • 将本地的 main (或 master) 分支推送到远程的 origin 仓库。 Bash

      复制代码
      git branch -M main # 如果你本地是 master 分支,可以先将其重命名为 main
      git push -u origin main
      • git branch -M main:如果你本地默认是 master 分支,GitHub 现在倾向于使用 main 作为默认分支名,所以建议将其重命名。如果你的本地分支已经是 main,则可以跳过此步。
      • git push -u origin main-u 参数会在首次推送时建立本地分支和远程分支的跟踪关系,这样以后你只需要使用 git push 即可。
  7. 完成

    • 刷新你的 GitHub 仓库页面,你就可以看到你的项目文件已经成功上传了。

情况二:项目已经进行过版本控制(有 .git 文件夹)

这意味着你的项目已经是一个 Git 仓库了,你只需要将它关联到远程 GitHub 仓库并推送。

步骤:

  1. 在 GitHub 上创建新的仓库 (Repository)

    • 登录你的 GitHub 账号。
    • 点击页面右上角的 + 号,选择 New repository
    • 填写 Repository name (仓库名称,建议与你的项目文件夹名称相同)。
    • 选择 Public (公开) 或 Private (私有)。
    • 不要 勾选 Add a README fileAdd .gitignoreChoose a license
    • 点击 Create repository
    • 创建成功后,GitHub 会显示一些指令,其中会包含一个 ...or push an existing repository from the command line 的部分。请保留这个页面,我们稍后会用到它上面的命令。
  2. 在本地项目文件夹中操作

    • 打开你的终端 (Terminal) 或 Git Bash。
    • 使用 cd 命令进入你的项目文件夹。
  3. 检查并清理现有的远程连接(如果存在)

    • 如果你之前已经将这个项目关联到其他远程仓库,或者想确保没有冲突,可以先检查: Bash

      复制代码
      git remote -v
    • 如果显示了远程连接(例如 origin),并且你确定要将其更改为新的 GitHub 仓库,可以先移除旧的远程连接: Bash

      复制代码
      git remote remove origin

      如果你是第一次关联,或者确定没有其他远程连接,则跳过此步。

  4. 关联远程 GitHub 仓库

    • 回到你在 GitHub 上创建仓库后显示的页面。复制 ...or push an existing repository from the command line 下面的第一行命令,它看起来像这样: Bash

      复制代码
      git remote add origin https://github.com/your-username/your-repository-name.git

      your-username 替换为你的 GitHub 用户名,your-repository-name 替换为你的仓库名称。

    • 在你的终端中执行这条命令。

  5. 推送本地分支到远程仓库

    • 将本地的 main (或 master) 分支推送到远程的 origin 仓库。 Bash

      复制代码
      git branch -M main # 如果你本地是 master 分支,可以先将其重命名为 main
      git push -u origin main
      • git branch -M main:如果你本地默认是 master 分支,GitHub 现在倾向于使用 main 作为默认分支名,所以建议将其重命名。如果你的本地分支已经是 main,则可以跳过此步。
      • git push -u origin main-u 参数会在首次推送时建立本地分支和远程分支的跟踪关系,这样以后你只需要使用 git push 即可。
  6. 完成

    • 刷新你的 GitHub 仓库页面,你就可以看到你的项目文件已经成功上传了。

常见问题与技巧:

  • SSH 和 HTTPS: 上述示例使用的是 HTTPS 方式进行推送。如果你配置了 SSH Key,也可以使用 SSH 方式,它的 URL 格式是 [email protected]:your-username/your-repository-name.git。SSH 方式在每次推送时不需要输入用户名和密码。
  • Git 凭据管理器 (Credential Manager): 如果你经常使用 HTTPS 方式,可以配置 Git 凭据管理器,这样就不用每次都输入用户名和密码了。
  • .gitignore 文件: 强烈建议在项目根目录下创建 .gitignore 文件,用来忽略不必要上传到 Git 仓库的文件和文件夹(例如:编译生成的文件、IDE 配置文件、日志文件、敏感信息等)。
  • 分支管理: 默认情况下,你会推送到 mainmaster 分支。在实际开发中,你可能需要创建新的分支(如 devfeature-x),在新的分支上进行开发,然后合并到 main 分支。
  • 拉取 (Pull): 如果有其他人也修改了远程仓库,在推送之前,你可能需要先使用 git pull origin main 来拉取最新代码,以避免冲突。
相关推荐
摸鱼的后端7 小时前
开源软件协议大白话分类指南
github·开源软件
AI让世界更懂你10 小时前
在 Linux 系统上连接 GitHub 的方法 (适用2025年)
linux·运维·github
echola_mendes10 小时前
Cherry Studio连接配置MCP服务器
github
病树前头12 小时前
github开源版pymol安装(ubuntu22.04实战版)
linux·github·conda·pymol
白总Server14 小时前
Python的分布式网络爬虫系统实现
linux·服务器·python·microsoft·中间件·架构·github
qianmoQ15 小时前
GitHub 趋势日报 (2025年05月22日)
github
我也爱吃馄饨17 小时前
GitHub push失败解决办法-fatal: unable to access ‘https://github.com/xxx
git·github·visual studio
Мартин.18 小时前
GitAny - 無需登入的 GitHub 最新倉庫檢索工具
github
yunson_Liu20 小时前
AWS创建github相关的角色
云计算·github·aws
Bl_a_ck1 天前
git基础语法回顾
git·gitee·github·gitcode