本地 Git 项目上传到 GitHub
本文介绍如何从本地创建一个新的 Git 项目并将其上传到 GitHub,包括了如何创建本地 Git 仓库、设置 Git 配置信息,以及如何将代码推送到 GitHub 上。
步骤 1:设置 Git 配置(如果未设置过)
如果还没有设置 Git 配置(用户名和邮箱),则需要进行配置。这个配置是 Git 提交时用来标识作者身份的。
设置 Git 用户名 打开终端(或者命令行),输入以下命令:
1
git config --global user.name " GitHub 用户名"
设置 Git 邮箱 设置与 GitHub 关联的邮箱地址:
1
git config --global user.email "邮箱地址"
如果只希望在某个特定仓库中使用不同的用户名或邮箱,可以去掉
--global
参数,在仓库目录下单独配置:1
2git config user.name "特定仓库的用户名"
git config user.email "特定仓库的邮箱"查看配置是否正确 输入以下命令查看当前的配置:
1
git config --list
步骤 2:创建本地 Git 仓库
进入项目文件夹 打开终端,使用
cd
命令进入你想要创建 Git 仓库的文件夹:1
cd 路径/到/你的/项目文件夹
初始化 Git 仓库 在项目目录下,输入以下命令来初始化本地 Git 仓库:
1
git init
步骤 3:添加项目文件并提交
将文件添加到 Git 仓库 将你的项目文件添加到 Git 跟踪管理中:
1
git add .
提交文件 然后,提交这些文件到本地仓库:
1
git commit -m "第一次提交,添加项目文件"
步骤 4:将本地 Git 仓库连接到 GitHub 上的远程仓库
获取远程 GitHub 仓库的 URL 在 GitHub 上创建一个新的仓库。进入你的 GitHub 页面,点击右上角的
+
号,选择New repository
。填入仓库名称后,点击 "Create repository"。创建后,你会看到远程仓库的 URL,通常为:1
https://github.com/你的用户名/仓库名.git
添加远程仓库 在终端中,将远程仓库 URL 添加到本地 Git 仓库中:
1
git remote add origin https://github.com/你的用户名/仓库名.git
步骤 5:推送代码到 GitHub
推送到 GitHub 将本地代码推送到 GitHub 上的远程仓库(默认推送到
main
分支):1
git push -u origin main
如果你的仓库使用的是
master
分支而不是main
,请改为:1
git push -u origin master
输入 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)
登录 GitHub 账户 打开 GitHub 网站并登录你的账户。
生成个人访问令牌
- 点击右上角的头像,选择 Settings。
- 在左侧菜单中选择 Developer settings。
- 然后选择 Personal access tokens。
- 点击 Generate new token(生成新令牌)。
- 给令牌起个名字(如
my-token
),选择你需要的权限。一般来说,你需要选择repo
(访问私有仓库)权限,或者选择其他适合你需求的权限。 - 设置令牌的有效期(如果你想让它长期有效,可以选择 "No expiration")。
- 点击 Generate token,然后复制生成的令牌。
注意:这个令牌只会显示一次,记得将它保存在一个安全的地方。如果丢失了,你需要重新生成。
步骤 2:使用 PAT 进行身份验证
在你推送代码时,Git 会要求你输入 GitHub 用户名和密码。你需要做的是:
- 使用你的 GitHub 用户名作为用户名。
- 使用你刚刚生成的个人访问令牌作为密码。
例如,在推送时,Git 会提示你输入 GitHub 的 用户名 和 密码:
- 用户名:输入你的 GitHub 用户名。
- 密码:粘贴你刚刚生成的 个人访问令牌(不是你的 GitHub 密码)。
步骤 3:保存凭据(可选)
为了避免每次推送代码时都需要输入用户名和令牌,你可以配置 Git 使用凭据缓存:
启用 Git 凭据缓存: 在终端中运行以下命令:
1
git config --global credential.helper cache
这会让 Git 将你的凭据(包括令牌)缓存一段时间,通常是 15 分钟。你可以根据需要修改缓存时间。
或者,使用 Git 的凭据助手来保存凭据: 如果你希望 Git 保存凭据并在每次操作时自动使用它们,可以使用
git-credential-manager
:1
git config --global credential.helper manager
这样,下次你推送时,Git 会自动使用保存的凭据进行身份验证。
步骤 4:验证推送
现在,你可以重新推送代码:
1 | git push -u origin main |
如果配置正确,Git 将会使用你的个人访问令牌进行身份验证,并成功推送到 GitHub。