学习如何推送了本地 Git 仓库到 GitHub

175 阅读4分钟

本教程包括

  1. 什么是GitHub以及为什么要使用它
  2. 设置并创建一个GitHub repo
  3. 将你的项目推送到新的 repo 中

GitHub是一个基于网络的平台,用于项目版本控制和代码库托管。GitHub使用Git,一个广泛使用的版本控制系统。GitLabBitbucket也是类似的工具。

使用GitHub是CircleCI博客上大多数教程的先决条件,所以学会使用它是很有帮助的。在本教程中,我将向你展示如何推送一个项目到GitHub

前提条件

要学习本教程,需要具备一些条件。

  1. 对Git的基本了解
  2. 在你的系统上安装了Git
  3. 一个GitHub账户

有了这些东西,我们就可以开始学习本教程了。

设置

为了保持简单,我们将使用一个单一的HTML文件。你可以在这里查看这个HTML文件。

有几种方法可以得到这个HTML文件。

  • 将gist(上面的链接)中的代码复制到一个index.html 文件中。
  • 转到这个链接,然后点击下载这个单页网络文件
  • 使用终端(或类似的命令提示符或PowerShell)。转到你想使用的项目文件夹,然后运行。
wget https://raw.githubusercontent.com/CIRCLECI-GWP/profile/main/index.html

使用这些方法中的任何一种,都会在你的目录根部产生一个index.html

在本教程的其余部分,我们将使用终端来运行命令。除非另有指示,否则请在项目目录的根层运行命令。

初始化 Git

因为我们在本地创建了文件,所以我们需要把它推送到GitHub上保存。第一步是初始化 Git。

运行。

git init

git init 命令将你的目录变成一个新的 Git 仓库。

添加文件

初始化 Git 后,我们需要标记 HTML 文件,以便在下一次提交时将其包含在内。这个过程也叫暂存。

注意。 提交是对一个文件的修改历史的快照。

运行。

add index.html

这个命令标记了index.html ,这样它就可以包含在下一次的提交中。

提交文件

现在我们的文件已经被标记,可以进行第一次提交了。

运行。

git commit -m "Add index.html"

-m后面的文字是提交信息。它是一个人性化的提醒,告诉我们提交的内容有哪些变化。

推送到 GitHub

推送会将你所有的本地提交上传到远程仓库。这使得你的文件中的修改可以被与你一起工作的人看到。这个过程有两个部分。

  1. 创建一个仓库
  2. 推送项目

创建 GitHub 仓库

在你的浏览器中,去github.com,如果你还没有登录,请登录。点击页面右上方的加号图标。然后选择New Repository

New repo

选择所有者,输入版本库名称,然后点击创建版本库。我在本教程中使用了new-repository 这个名字。你以后会使用这个名字,所以要记下它。

Create Repository

就这样,一个闪亮的新版本库出现了。如果这是你的第一个版本,恭喜你!你已经达到了一个编程的里程碑。你已经达到了一个编程的里程碑。

留在这个页面上完成下一个步骤。

将项目推送到 GitHub

记住,你已经有了一个包含一个文件的本地仓库,并且你已经提交了你所做的修改。下一步是将这些修改推送到新创建的 GitHub 仓库。

Push existing repo

将这些命令粘贴到终端,按回车键执行。

git remote add origin https://github.com/NdagiStanley/new-repository.git
git branch -M `main`
git push -u origin `main`

注意用你的 GitHub 用户名替换例子中的用户名。

运行这些命令后,重新加载浏览器页面。你的index.html 文件现在已经列在在线仓库中。

你可以通过依次运行这些命令对仓库进行更多更新。

git add .
git commit -m "Commit message"
git push origin main

用你自己的描述性文本替换样本文本,Commit message 。如果你是在main 以外的分支上工作,请使用你的分支名称。你可以在这里阅读更多关于git分支的信息。

总结

在本教程中,你推送了一个本地 Git 仓库到 GitHub。熟悉了Git和GitHub,你就可以进入下一步,在GitHub仓库的基础上建立一个CircleCI项目。GitHub和其他基于Git的版本控制系统被广泛用于软件开发和其他需要版本控制的学科中。了解它们是对你的开发人员工具包的一个重要补充。

-