1. 网页设计和开发Git版本控制

莎拉·古塔尔斯(Sarah Guthals)

就像建议的那样,GitHub是建立在Git之上的。 Git是一种版本控制系统,它是免费和开放源代码,这意味着任何人都可以使用它,在它之上构建甚至添加它。

GitHub产品使使用Git变得容易,但是如果您好奇的话,也可以使用Git在计算机上跟踪自己的项目。

在终端上尝试简单的Git

在Windows的Git的帮助下,在Mac,Windows或Linux计算机上使用终端完全相同。终端是一种应用程序,使您能够以基于文本的方式与计算机进行交互-换句话说,您无需双击和拖动即可键入命令来导航计算机。

如果您使用的是Mac或Linux,则您的计算机上已经安装了一个终端。如果您使用的是Windows计算机,请安装Windows版Git。单击下载以访问Git Bash,这是一个模拟器,使您可以像在Linux或Mac终端上一样与Git进行交互。您还将获得Git GUI,它为您可能会在Git Bash中键入的几乎所有Git命令和外壳集成提供了一个用户界面,以便您可以从任何文件夹快速打开Git Bash或Git GUI。

Windows上的许多开发人员都喜欢使用PowerShell作为其终端环境。您可以在PowerShell中使用Git。

首先,找到终端应用程序:

  • 在Mac上,您可以单击桌面右上方的放大镜,键入终端,从应用程序列表中选择终端,然后按Enter或单击它。 在Linux上,同时全部按Ctrl-Alt-T,将打开终端窗口。 在Windows上,单击桌面右下角的Windows菜单,搜索Git Bash,从搜索结果列表中选择Git Bash应用程序,然后按Enter或单击它。

当应用程序打开时,在终端中键入git --version。如果已安装Git,则应该看到一个版本号,如以下代码所示($应该已经在行中,因此您无需键入它)。否则,您可以按照以下说明进行操作。

使用命令行时,您必须非常小心所输入的内容。在以下代码中,第一条指令是您输入git --version的。您应该注意,在git和指令的其余部分之间出现一个空格,但没有其他空格。您还应该注意单词版本之前的两个破折号。他们很容易错过,所以要小心!

对于Mac或Linux,您应该看到以下内容:

$ git-版本

git版本2.16.3

$

对于Windows,您应该会看到以下内容:

$ git-版本

git版本2.20.1.windows.1

$

接下来,使用终端,进入桌面并创建一个名为git实践的新文件夹。为此,您应该键入以下命令:

$ cd〜/台式机

$ mkdir git-practice

$ cd git-practice

$

如果键入pwd,应该会看到您现在位于桌面上的git-practice文件夹中。它可能看起来像这样:

$ pwd

$ /用户/用户数/桌面/ git-practice

$

现在,您可以使用init命令告诉git跟踪此文件夹。

$ git init

在/ Users / sguthals / Desktop / git-practice中初始化了空的Git存储库

$

然后确保您有一个干净的文件夹。您可以使用status命令进行检查:

$ git状态

在分支机构主管

尚无提交

无需提交(创建/复制文件并使用“ git add”进行跟踪)

$

然后,您可以创建一个文件来让Git开始跟踪并确认文件在文件夹中:

$ echo“练习git”> file.txt

$ ls

file.txt

$

在Mac上,可以使用open 命令在Finder中打开此文件夹:

$打开。

$

在Linux上,可以使用nautilus 命令打开此文件夹:

$鹦鹉螺。

$

在Windows上,可以使用资源管理器命令打开此文件夹:

$资源管理器。

$

在此示例中,我们放入。作为每个命令的。 。告诉终端打开当前文件夹。您也可以在这些命令中使用其他路径来打开其他文件夹。

打开文件夹后,双击名为file.txt的文件,然后在Mac上使用TextEdit,在Linux上使用gedit以及在Windows上使用记事本打开文件。您会看到“实践git”一词实际上在那里。

关闭文件。现在,您可以告诉Git您要将其保存为特定版本。回到终端:

$ git添加file.txt

$ git commit -m“将文件添加到此版本”

[master(root-commit)8d28a21]将我的文件添加到此版本

更改1个文件,插入1个(+)

创建模式100644 file.txt

$ git状态

在分支机构主管

没什么可做的,工作中的树很干净

$

您可以在文本文件中对文件进行更改。再次打开文件,将文本更改为“嗨!我今天正在练习git!”,然后单击文件→保存并关闭文本应用程序。

当您回到终端再次检查项目状态时,您应该看到Git注意到文件已更改:

$ git状态

在分支机构主管

更改未上演提交:

(使用“ git add <文件…”更新将提交的内容)

(使用“ git checkout-…”来丢弃工作目录中的更改)

修改:file.txt

没有更改添加到提交(使用“ git add”和/或“ git commit -a”)

$

再次提交此版本的文件,请注意,Git识别出所有内容均已保存到新版本:

$ git添加file.txt

$ git commit -m“我更改了文本”

[master 6d80a2a]我更改了文字

更改了1个文件,插入了1个(+),删除了1个(-)

$ git状态

在分支机构主管

没什么可做的,工作中的树很干净

$

如果终端开始变得过于混乱,则可以键入clear清除一些空间并使它更具视觉吸引力。不用担心您可以随时向上滚动并查看之前输入的所有内容!

假设您实际上要去看原始的更改;当您添加“练习git”时。首先,获取您所做的所有提交的日志:

$ git日志

提交6d80a2ab7382c4d308de74c25669f16d1407372d(HEAD-> master)

作者:sguthals

日期:周日12月9日08:54:11 2018-08-08

我改变了文字

提交8d28a21f71ec5657a2f5421e03faad307d9eec6f

作者:sguthals

日期:2018年12月9日星期日08:48:01

将我的文件添加到此版本

$

然后让Git向您展示您所做的第一次提交(最底层的提交)。确保您输入的是唯一的提交哈希。在这些示例中,哈希从8d28a2开始。确保键入出现在Git日志中的整个哈希:

您可以用鼠标突出显示哈希,右键单击并选择“复制”,而不是键入整个哈希(可能有错字),然后在git checkout后,右键单击并选择“粘贴”。使用键盘快捷键Ctrl + C或Command -C不起作用

$ git show 8d28a21f71ec5657a2f5421e03faad307d9eec6f

提交8d28a21f71ec6567a2f5421e03faad307d9eec6f

作者:sguthals

日期:2018年12月9日星期日08:48:01

将我的文件添加到此版本

diff --git a / file.txt b / file.txt

新文件模式100644

索引0000000..849a4c7

-/ dev /空

+++ b / file.txt

@@ -0,0 +1 @@

+练习git

$

您可以看到,在最初的提交中,实践git已添加到文件中。

有关如何在命令行上使用git的更多信息,请查看以下资源:

  • GitHub Git作弊表 Visual Git作弊表 Git Docs页面

另外还有一些资源可用于学习和理解Git,这使Windows上的用户可以体验类似的工作流程,因为它们是网站上托管的可视化文件。第一个链接是一组很好的自我指导的练习,而第二个链接最适合对Git有很好的了解并想探索在不同情况下将发生的情况的人,或者是对于Git用户更专业的人。指导他们。

协作者的Git分支

Git与其他版本控制系统不同,因为它具有快速的分支,如下图所示。分支是一个Git函数,本质上是复制代码(每个分支都是代码的副本),允许您在特定副本上进行更改,然后将所做的更改合并回主(主)分支。

git分支

编写代码时,您将添加文件并将更改提交到master分支。该图概述了两个人在同一个文件上进行协作的特定工作流程。第1个人创建了一个名为MyBranch的新分支,并对文件进行了一些更改。 Person 2还创建了一个名为YourBranch的新分支,并对同一文件进行了一些更改。您可以在方框1中看到此更改。

您可以在框#2中看到master分支和MyBranch之间的差异(称为diff)。

然后,人员1将其更改与master分支合并,如框3所示。

人员2进行了自己的更改,但是在合并之前,他们将确保它们具有master分支的最新版本,该分支现在具有人员1的更改。差异可以在框#4中看到。注意两个文件中都有什么文本。

最后,人员2确认他们的更改将覆盖人员1的更改,并将其更改与master合并,从而使最终版本具有人员2的更改。框5显示了此最终合并,而master分支具有最终更改。

该图仅显示了一个以上的工作流,当一个以上的人从事代码工作时,该工作流将用于描述分支。获得有关Git和分支的更深入的概述。

Git按功能分支

使用分支的另一种常见方法是,将开发的每个功能都置于不同的分支上,而与构建该功能的协作者无关。

您可以扩展按功能分支的想法,使其也具有一个分支即生产分支。您的用户将看到该分支。然后,您可以拥有一个开发分支,您可以在其中合并功能而不更改用户看到的内容。

这种类型的分支允许您构建许多不同的功能,将它们分别合并到开发分支中,确保它们都能按您想要的方式工作,然后在您知道可以为用户准备就绪时将开发分支合并到生产分支中。 。

Git分支进行实验

您还可以创建分支以进行测试以查看是否有效果,然后将其完全丢弃。

例如,如果您想尝试全新的网站布局,则这种类型的分支很有用。您可以创建三个不同的分支,每个分支具有不同的布局。在确定最喜欢的布局之后,您只需删除其他两个分支并将该分支与您喜欢的布局合并到母版中即可。