本文介绍如何从本地创建一个新的 Git 项目并将其上传到 GitHub,包括了如何创建本地 Git 仓库、设置 Git 配置信息,以及如何将代码推送到 GitHub 上。

步骤 1:设置 Git 配置(如果未设置过)

如果还没有设置 Git 配置(用户名和邮箱),则需要进行配置。这个配置是 Git 提交时用来标识作者身份的。

  1. 设置 Git 用户名 打开终端(或者命令行),输入以下命令:

    1
    git config --global user.name " GitHub 用户名"

  2. 设置 Git 邮箱 设置与 GitHub 关联的邮箱地址:

    1
    git config --global user.email "邮箱地址"

    如果只希望在某个特定仓库中使用不同的用户名或邮箱,可以去掉 --global 参数,在仓库目录下单独配置:

    1
    2
    git config user.name "特定仓库的用户名"
    git config user.email "特定仓库的邮箱"

  3. 查看配置是否正确 输入以下命令查看当前的配置:

    1
    git config --list

步骤 2:创建本地 Git 仓库

  1. 进入项目文件夹 打开终端,使用 cd 命令进入你想要创建 Git 仓库的文件夹:

    1
    cd 路径/到/你的/项目文件夹

  2. 初始化 Git 仓库 在项目目录下,输入以下命令来初始化本地 Git 仓库:

    1
    git init

步骤 3:添加项目文件并提交

  1. 将文件添加到 Git 仓库 将你的项目文件添加到 Git 跟踪管理中:

    1
    git add .

  2. 提交文件 然后,提交这些文件到本地仓库:

    1
    git commit -m "第一次提交,添加项目文件"

步骤 4:将本地 Git 仓库连接到 GitHub 上的远程仓库

  1. 获取远程 GitHub 仓库的 URL 在 GitHub 上创建一个新的仓库。进入你的 GitHub 页面,点击右上角的 + 号,选择 New repository。填入仓库名称后,点击 "Create repository"。创建后,你会看到远程仓库的 URL,通常为:

    1
    https://github.com/你的用户名/仓库名.git

  2. 添加远程仓库 在终端中,将远程仓库 URL 添加到本地 Git 仓库中:

    1
    git remote add origin https://github.com/你的用户名/仓库名.git

步骤 5:推送代码到 GitHub

  1. 推送到 GitHub 将本地代码推送到 GitHub 上的远程仓库(默认推送到 main 分支):

    1
    git push -u origin main

    如果你的仓库使用的是 master 分支而不是 main,请改为:

    1
    git push -u origin master

  2. 输入 GitHub 用户名和密码 在推送时,Git 会要求你输入 GitHub 的用户名和密码(或者是你的个人访问令牌,如果你启用了 2FA)。输入完后,推送完成,代码就会出现在 GitHub 上了。

额外问题

现在,你已经成功将本地项目推送到 GitHub 仓库中。以后你只需通过 git add .git commit -m "更新内容" 来更新本地仓库内容,使用 git push 将更改推送到 GitHub 上。

假如你遇到了以下的问题:

remote: Support for password authentication was removed on August 13, 2021. remote: Please see https://docs.github.com/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication. fatal: Authentication failed for 'https://github.com/你的用户名/仓库名.git'

这是因为 GitHub 在 2021 年 8 月 13 日停止了对密码认证的支持,现在 GitHub 要求使用 个人访问令牌(Personal Access Token, PAT) 来进行身份验证,而不再支持传统的用户名和密码方式。

为了解决这个问题,需要使用 个人访问令牌 来代替密码。以下是解决方案的详细步骤:

步骤 1:生成个人访问令牌(PAT)

  1. 登录 GitHub 账户 打开 GitHub 网站并登录你的账户。

  2. 生成个人访问令牌

    • 点击右上角的头像,选择 Settings
    • 在左侧菜单中选择 Developer settings
    • 然后选择 Personal access tokens
    • 点击 Generate new token(生成新令牌)。
    • 给令牌起个名字(如 my-token),选择你需要的权限。一般来说,你需要选择 repo(访问私有仓库)权限,或者选择其他适合你需求的权限。
    • 设置令牌的有效期(如果你想让它长期有效,可以选择 "No expiration")。
    • 点击 Generate token,然后复制生成的令牌。

    注意:这个令牌只会显示一次,记得将它保存在一个安全的地方。如果丢失了,你需要重新生成。

步骤 2:使用 PAT 进行身份验证

在你推送代码时,Git 会要求你输入 GitHub 用户名和密码。你需要做的是:

  1. 使用你的 GitHub 用户名作为用户名
  2. 使用你刚刚生成的个人访问令牌作为密码

例如,在推送时,Git 会提示你输入 GitHub 的 用户名密码

  • 用户名:输入你的 GitHub 用户名。
  • 密码:粘贴你刚刚生成的 个人访问令牌(不是你的 GitHub 密码)。

步骤 3:保存凭据(可选)

为了避免每次推送代码时都需要输入用户名和令牌,你可以配置 Git 使用凭据缓存:

  1. 启用 Git 凭据缓存: 在终端中运行以下命令:

    1
    git config --global credential.helper cache

    这会让 Git 将你的凭据(包括令牌)缓存一段时间,通常是 15 分钟。你可以根据需要修改缓存时间。

  2. 或者,使用 Git 的凭据助手来保存凭据: 如果你希望 Git 保存凭据并在每次操作时自动使用它们,可以使用 git-credential-manager

    1
    git config --global credential.helper manager

这样,下次你推送时,Git 会自动使用保存的凭据进行身份验证。

步骤 4:验证推送

现在,你可以重新推送代码:

1
git push -u origin main

如果配置正确,Git 将会使用你的个人访问令牌进行身份验证,并成功推送到 GitHub。