
本教程将指导您如何使用GitHub CLI,无需IDE集成,即可将本地完成的项目(如JetBrains Academy项目)快速上传并发布到GitHub。通过安装CLI、身份验证和简单的`gh repo create`命令,您可以高效地创建远程仓库并同步本地代码,实现项目版本控制和分享。
对于那些在JetBrains Academy或Hyperskill等平台使用内置代码编辑器完成项目,但未通过集成开发环境(IDE)与Git或GitHub进行初始配置的用户,将本地项目发布到GitHub可能显得有些棘手。然而,GitHub CLI提供了一个简洁高效的解决方案,允许您通过命令行快速创建远程仓库并将本地代码推送上去。
以下是使用GitHub CLI将本地项目发布到GitHub的详细步骤:
步骤一:安装GitHub CLI
首先,您需要在本地系统上安装GitHub CLI(命令行工具)。GitHub CLI支持多种操作系统,包括macOS、Windows和Linux。
- 访问安装指南: 请访问GitHub CLI的官方安装页面:https://www.php.cn/link/82b02f59d83397a4f6851822234ef138。
- 选择适合您操作系统的安装方式: 按照页面上的指示进行安装。例如,在macOS上可以使用Homebrew:brew install gh;在Windows上可以使用winget:winget install --id GitHub.cli。
安装完成后,您可以在终端或命令行中输入 gh --version 来验证安装是否成功。
步骤二:进行GitHub身份验证
在使用GitHub CLI执行任何操作之前,您需要对其进行身份验证,以便它能够访问您的GitHub账户。
-
执行认证命令: 在终端中运行以下命令:
gh auth login
- 按照提示操作: 该命令会引导您完成认证流程。通常,它会要求您选择通过浏览器登录,并提供一个一次性代码。在浏览器中完成认证后,GitHub CLI将自动配置您的凭据。
步骤三:创建远程仓库并上传本地项目
完成身份验证后,您就可以在本地项目目录中创建GitHub仓库并上传代码了。
-
导航到本地项目目录: 使用cd命令进入您的项目根目录。这是包含您所有项目文件和文件夹的目录。
cd /path/to/your/project
-
执行创建仓库命令: 在项目根目录中,运行以下gh repo create命令:
gh repo create my-project --private --source=. --remote=upstream
这条命令的各个部分解释如下:
- gh repo create: 这是创建GitHub仓库的基本命令。
- my-project: 这是您希望在GitHub上创建的仓库名称。请将其替换为您实际的项目名称。
- --private: 这个选项会将创建的仓库设置为私有。如果您希望仓库是公开的,可以省略此选项。
- --source=.: 这个关键选项告诉GitHub CLI将当前目录(.代表当前目录)中的所有文件和文件夹作为源代码导入到新创建的GitHub仓库中。
- --remote=upstream: 这个选项设置了本地Git仓库的默认远程名称为upstream。origin是更常见的默认远程名称,但使用upstream可以避免与某些现有配置冲突,或者只是个人偏好。GitHub CLI会为您自动初始化一个本地Git仓库(如果尚未存在),并将其关联到新创建的远程仓库。
执行此命令后,GitHub CLI将:
- 在您的GitHub账户下创建一个名为my-project的新仓库。
- 将您当前本地目录中的所有文件添加到本地Git仓库。
- 进行首次提交。
- 将本地代码推送到新创建的远程GitHub仓库。
注意事项与最佳实践
- 当前目录的重要性: 确保您在执行gh repo create命令时,终端的当前工作目录正是您希望上传的项目的根目录。
- 仓库名称: my-project应替换为您的实际项目名称,且该名称在您的GitHub账户下必须是唯一的。
- 私有与公开: 根据您的需求选择--private选项。私有仓库仅对您和您邀请的协作者可见;公开仓库对所有人可见。
- .gitignore文件: 在上传项目之前,建议在项目根目录中创建一个.gitignore文件。该文件可以指定哪些文件或目录(例如编译产物、IDE配置文件、敏感信息等)不应被Git跟踪和上传到GitHub,保持仓库的整洁和安全。
- 后续操作: 一旦项目上传成功,您就可以像管理任何其他Git仓库一样,使用git add、git commit和git push等常规Git命令来管理项目的版本和更新。
通过上述步骤,即使没有使用IDE的Git集成,您也能轻松高效地将JetBrains Academy等平台的本地项目发布到GitHub,实现项目的版本控制和分享。










