Git/GitHub 入门工作流程教程:立即使用这些基本命令开始使用 Git
由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!
在本教程中,你将学习使用 Git 和 GitHub 跟踪个人项目的绝对基础知识。关于 Git 和 GitHub 的原理、操作方法以及每个部分的含义,有很多内容可以讲解。一篇入门教程无法涵盖所有内容,因此,如果你对某个部分不理解,并且很想了解更多,最好的办法是上网搜索。使用 Google 搜索也是一项技能(没错,的确如此),如果你是一名开发人员,你将需要每天使用它。不要害怕使用它!
不过,现在我希望你在开始研究细节之前,先通读一遍整篇文章:有时候,最好先了解一下概况,因为过早地深入研究可能会导致困惑和沮丧。
我们将把这篇文章分为三个部分:Git 入门、将项目连接到 GitHub 以及日常 Git/GitHub 工作流程。
1. 我该如何开始在 Git 上跟踪我的项目?
这里简要概述一下我们如何使用 Git 进行个人项目开发。我们假设您已经在计算机上安装了 Git,并且正在使用终端。如果您感觉有些生疏,可以点击此处和此处复习一些基本的终端/命令行提示符。
-
我们在电脑上创建一个本地项目文件夹并进入它。
$mkdir ProjectFolder $cd ProjectFolder -
我们初始化/启动该文件夹的 Git 跟踪
$git init -
我们在 README.md 文件中添加了一些占位文字。
$echo My New Project > README.md -
我们将文件夹内容添加到暂存区,告诉 Git 这些是我们想要跟踪更改的文件。
$git add . -
我们将文件提交到 Git,并附上一条用现在时态解释更改的消息。
$git commit -m "Add README.md"
第 4 点需要稍作解释:在 Git 中,在“保存更改”之前,我们会使用 `git add` 命令将文件添加到“暂存区” $git add filename.txt。这是为了处理那些我们修改过但不想保存的特定文件。在上述情况下(以及大多数情况下),我们不需要如此具体,因此可以简单地将当前目录中的所有文件都添加到暂存区。如果你今天打算搜索什么,那就搜索“Git 暂存区”吧!
第 5 步实际上就是对项目执行“另存为”操作。我们告诉 Git 保留一份项目副本,使其与当前状态完全一致。这样,如果将来出现任何错误,我们都可以随时查看目录中每个文件的先前版本。
我们还可以将步骤 4 和 5 合并,例如使用 -am 标志一次性暂存并提交所有文件:
$git commit -am "Add README.md"
2. 如何连接 Git 和 GitHub?
现在我们已经有了项目的工作目录,Git 也正在跟踪我们所做的所有更改,但我们还没有一个远程(在线)仓库来存放所有内容。GitHub 是存储和访问使用 Git 跟踪的项目的领先平台,因此在继续之前,您需要访问 GitHub 并创建一个帐户。
现在我们已经有了GitHub账号,可以创建一个新的仓库并将其链接到本地文件夹了:
将计算机上的现有存储库连接到 GitHub
我们目前有一个本地仓库,想将其添加到一个空的 GitHub 仓库中。连接方向是从本地到远程。因此,我们将使用$git remote addGitHub 作为连接方法。
-
输入新的仓库名称,最好与本地仓库名称相似或相同,或者尽可能接近,以免将来混淆。保持公开,然后点击绿色的“创建仓库”按钮。

-
现在我们有了一个远程仓库(太棒了!),但里面还是空的,也没有建立链接。创建 GitHub 仓库后,我们会跳转到一个页面,上面有 Git 需要的链接。复制这个 HTTP 链接,然后像下面的示例一样粘贴到终端中。请确保你已先
$cd进入正确的项目文件夹,否则你会遇到麻烦:
$git remote add https://github.com/AJMcDee/MyNewProject.git -
我们的本地 Git 仓库现在已经链接到空的远程(在线)GitHub 仓库,但我们仍然需要将文件/更改/历史记录“推送”(也就是上传)到 GitHub。为此,我们输入:
$git push -u remote origin -
如果我们刷新 GitHub 上的仓库页面,现在应该可以看到 README.md 文件以及我们之前放入其中的示例文本。
将 GitHub 存储库连接到本地文件夹
假设你已经在家用电脑上完成了上述操作,但今天天气晴朗,你想去咖啡馆用笔记本电脑工作。你的笔记本电脑上没有存储库中的任何文件,但你可以连接无线网络(呼!)。
要将远程(GitHub)存储库复制到您的计算机,我们将使用该$git clone命令,它会向我们提供所有文件和 Git 提交历史记录的精确副本(克隆!)。
-
前往您的 GitHub 个人资料页面,然后点击您想要克隆的仓库。
-
在终端中,导航到你想存放项目的目录(注意,clone 命令会自动创建一个以 GitHub 仓库名称命名的文件夹,所以你无需手动创建单独的文件夹!)。假设我们想把它存放在我们的主目录中。
$cd -
现在我们将使用复制的 URL 来克隆存储库,例如:
$git clone https://github.com/AJMcDee/MyNewProject.git
恭喜!您现在已经成功连接了 Git 和 GitHub,并且两个位置的所有文件都已更新。现在,您可以开始构建项目并跟踪更改了……
3. 日常工作流程:拉取、分支、更改、提交、合并、推送
以上标题描述的是您在 Git 和 GitHub 之间进行日常工作时需要掌握的基本工作流程。
由于这篇文章仅针对个人项目而非协作项目,因此有人可能会认为可以忽略“拉取”(Git 中“下载”的专业术语)这一环节,但养成这个好习惯是值得的,所以我还是把它写进来了。分支也是如此:假设只有一个人在开发项目,我们或许可以一直使用主分支,但既然我们想要养成良好的长期习惯,那就从今天开始创建分支吧。
在执行以下任何步骤之前,请确保您已导航到您的项目文件夹。
-
从远程(GitHub)仓库拉取(即下载)所有可能发生的更改。这样,如果其他人参与了项目(或者我们从另一台计算机更新了项目),我们就能收到所有更改并保持最新状态。
$git pull -
创建一个新的分支:你可以把它想象成一个独立的工作空间,在这里你可以进行测试和修改,而不会“破坏”主文件。在专业领域,分支的使用是为了让不同的团队成员可以同时处理不同的问题。虽然我们目前还没有这方面的工作,但我们现在就要养成这种习惯,以便日后避免一些麻烦。那么,让我们开始在一个名为“MyChanges”的新分支中工作吧:
$git checkout -b MyChanges -
您可以根据需要添加、删除或编辑文件和目录。我们项目的大部分编码工作实际上都在这里完成!
-
一旦我们进行了一些更改并希望更永久地保存它们,我们现在会将它们一起添加到 Git 中并提交,同时附上一条消息来说明我们做了哪些更改。
$git commit -am "Add index.html and style.css随着我们不断进行更改,我们可以(也应该)多次重复步骤 3 和 4。我们提交的更改越多,以后回滚更改的选择就越多。但是,通常情况下,你并不想保存每一个细微的更改(尽管有些程序员会这样做!)。我个人很喜欢这个答案!
-
呼!我们今天一整天都在 MyChanges 分支上写代码,文件看起来棒极了!不过,在去上瑜伽课之前,我们需要确保主分支也更新了今天的工作。让我们切换到 master 分支,合并所有内容,然后删除现在多余的分支:
$git checkout master $git merge MyChanges $git branch -d MyChanges -
最后一步是确保所有更改都已添加到 GitHub,以防我们需要在其他地方访问它、让其他人查看我们的代码,或者我们的主计算机出现故障。所以现在我们将所有内容推送(上传!)到我们的远程(GitHub)存储库:
$git push
瞧!一天结束了!我们所有的更改都已更新并保存到云端,包括我们项目的所有版本。我们可以随时随地访问,我们的朋友也可以随时随地访问,如果我们愿意,还可以让其他人与我们一起协作。
信息量好大!我能只通过命令在一个地方查看所有内容吗?
当然可以!给你:
((Create local project folder))
$ mkdir ProjectFolder
$ cd ProjectFolder
$ git init
$ echo My New Project > README.md
$ git add .
$ git commit -m "First commit with README.md"
((Connect local to an empty GitHub repository))
$ git remote add https://github.com/AJMcDee/MyNewProject.git
$ git push -u remote origin
((Bring your GitHub repository onto a different computer, for example))
$ git clone https://github.com/AJMcDee/MyNewProject.git
((Daily workflow))
$ cd ProjectFolderName
$ git pull
$ git checkout -b MyChanges
<<Work on your code here>>
$ git commit -am "Describe changes here"
$ git checkout master
$ git merge MyChanges
$ git branch -d MyChanges
$ git push
结论
我知道信息量很大,但这些是你需要掌握的基本命令。记住,第一部分和第二部分纯粹是关于项目设置的:日常工作中,你只需要用到日常工作流程部分中的那些命令即可。
正如前面所说,你可以深入研究与本文任何部分相关的主题,但如果你是 Git 和 GitHub 的新手,以下步骤可以帮助你立即开始跟踪一个新项目。我希望你能享受探索精彩的开源代码世界,我也会在不久的将来努力为你带来更多有用的教程和讨论。
文章来源:https://dev.to/annajmcdougall/beginner-git-github-workflow-tutorial-start-using-git-today-with-这些-basic-commands-4mn9

