74

边学习代码边学习Git和GitHub(二)

 5 years ago
source link: http://www.10tiao.com/html/674/201806/2656598351/1.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

本文为前篇的续,主要是讲述Git命令与操作的流程,对开发者还是非常有用的。


GitHub的终端与工作流程


我们来设置一个规则:

 

当你创建一个项目去学习某些东西时,比如用Node.js或者其它东西来制做一个HTML页面或者一个命令行游戏时,首先要创建一个仓库,然后在你的机器上克隆它,使用分支来处理它,再把数据发送给GitHub。

 

接下来我们就开始收获掌握这些工具所需的一些经验。

 

创建一个新项目

 

让我们回到GitHub页面,点击页面顶部的加号图标(+)。


创建一个新仓库

 

假设你正在创建一个学习HTML的项目,可以命名为learning-html,可以是正在创建的页面和任何项目的名称,比如little-snake,井字游戏或其它你喜欢的名字。

 

项目的描述是可选项,但是我认为输入一些有用的文字很必要,因为它可以确定产品的范围。当其他人想要帮助你时,可以先从项目描述中先了解项目的大概,可更顺利的开展协作,

 

就现在而言,可以命名为like HTML 研究的名字。

 

创建一个代码仓(Repository)

 

创建好代码仓库后,我们还应该制作一个自述文件,并且定义项目使用的许可证类型。可以参考其它项目中的REDME自述文件,以及项目使用的许可证。

 

REDME.MD文件是MarkDown格式的文本,用于完整描述自己的项目,可以在其中放入一些有价值的信息,能够指导别人按文档中的链接进行操作。

 

项目的开源许可证类型是可选的,但也最好定义好它。许可证可以说明其他的开发者可以用你的代码做些什么事。开源许可证MIT是最受欢迎的许可证,允许自己和其他人在项目中执行多种操作。如果你乐意,可以花一些时间了解其它类型的许可证,比如GPL,BSD、Apache等。 

 

创建工作区

 

一旦创建了仓库,你就可以在你的本地机器上克隆它。在操作之前,需要创建一个新文件夹,以便克隆将来工作的所有存储库。

 

我们使用终端命令创建一个成为工作区的文件夹。这样做是为了维护一个有组织的系统,如果不这样做,最终会是一堆散乱的项目,非常有可能丢失文件,就像我们经常在“我的文档”找abc.gif一样。

 

我假设你已经安装了cmder,现在我们可以打开。比如我们现在的位置在c:/Users/your_computer_name

 

如果你不在此路径,请使用如下命令:


cd %home%

 

运行命令,mkdir folder_name 来建工作区,例如:

 

mkdir workspace

 

就是这样在你的目有了默的文件,你可以克隆你的存储仓库了!

 

克隆你的仓库

 

克隆的意思是将GitHub服器上的所有文件和文件全部复制你自己的算机上,以便开使用。

 

在,我就需要将在GitHub上建的目克隆到工作区目。所以,请转刚刚创建的文件。我在cmder,入如下:

 

cd workspace\

 

小提示:如果你建了文件,或者想访问存在的文件。可以在开始名称是按TAB键,cmder会为您自动填充名称。

 

然后,请你转到GitHub上的项目主页面,取得克隆存储库所需的链接。

 

该链接位于名为“Clone or download”的绿色按钮中:

 



复制上面的链接,来克隆我们的存储仓库。

 

我们将HTTPS地址更改为SSH,因为之前我们已经在帐户配置了访问密钥。

 

更改https为ssh链接

 

现在我们可以运行 git clone 命令并告诉它链接地址,以便顺利拿到。比如像如下链接:

git [email protected]:our-username/learning-html.git

 

现在,你的代码仓库即将被克隆,如下图所示:

 

克隆的确认消息


现在,我们可以访问克隆在工作区存储库的文件夹。

使用如下命令:cd learning-html/

 

注意:我假设你现在处于工作区目录区。如果你没有在,上面的命令将不起作用,可以使用:

cd %home%\workspace\,然后再使用上述之命令即可。

 

创建一个分支

 

每次你要改变使用Git版本管理的项目代码时,应该创建一个分支,其中包含你正在处理任务的名称。这样可以防止你搞乱master主分支上的“主”代码。为此,你可以使用如下之命令:

 

git checkout –b task_name

 

一个分支就像一根树枝,它是树干的一部分。所以,我们可以在影响项目主干部分的情况下更改自己分支的代码。

 

例如:

更改分支

当你完成这些操作,你所做的改动就会自动更改在新分支上的操作。现在我们就可以疯了一样的编写代码。

 

一只编码的猫

 

提交更改

 

一旦我们完成对项目代码的更改,就应该将更改提交到远端存储库,即GitHub服务器上的存储仓库里。

 

提交内容是告诉Git,我们已将更改的内容加入到队列里头,可以将此内容推送到远程存储库中。

 

想像一个场景,我们刚刚创建了一个HTML页面,添加了标题和一些文字,现在是这个HTML文档的第一个版本,需要把它提交到远端存储库。

 

要做到这一点,需要运行一些命令,让Git理解我们想要发送更改到远端存储仓库。

 

运行 gitadd file_name 来告诉Git来分阶段执行文件发送。

 

或也可运行git add –alll 来发送有更改的全部文件。

 

我们使用gitstatus命令,可以查看到哪些文件已经提交到了远端服务器。

 

第一版本文件的例子

 

在上面的示例中,创建了index.html文档,并运行了git status命令以查看更改的内容。然后添加了git add命令中,再次运行git status查看哪个文件被添加到Git工作区里。

 

现在我们可以提交更改,只需运行git commit命令,比如运行git commit-m“commit_message”这样的类似信息。请记得包含添加到提交中的内容的精确描述性消息,而不要写一句模棱两可的语句。

 

合并更改

 

我们完成内容更改后,现在的状态是拥有一个分支,且在主分支中的分支之外进行了修改。这意味着我们拥有不同版本的项目,需要将这些更改与项目的代码主版本合并。

 

在进行此操作之前,请验证分支之间的差异。 先在你的分支上,执行命令:

 

git diffmaster

 

输出结果如下图所示:

 

Gitdiff输出。


Git向我们展示了最新的提交、添加或更改了哪些文件,以及更改的文件内容。

 

我们已经明确知道分支和主分支之间有差异,需要合并在分支中创建的新的提交合并到主代码。为此,需要在cmder上切换到master分支,然后运行命令git merge命令。

 

要想回到master主分支,运行git checkout master即可。要合并提交,请运行git mergeour_branch_name。

 

合并示例。


接下来Git会向我们显示一个确认添加内容的信息输出。

 

发送给GitHub

 

在完成所有更改并合并后,现在可以将它们发送到GitHub上的远程存储库。

 

您将使用gitpush origin master来执行此操作。

 

将我们的更改推送到远程服务器


也可以使用gitpush。 它会有相同的结果。 但是当你在工作区第一次推送变更时,你需要做git push originmaster,以便Git知道你的工作空间是推送的起源。

 

现在您的提交将立即出现在您的GitHub存储库的主页上,如下图:

 

 

我们刚刚做的最后一次提交显示在github上的项目页面上。

 

小结

 

在本节教程中,您学习到了如何在GitHub上创建项目,以便您可以在每次学习新内容时跟踪进度。这将帮助大家了解命令行(终端),Git命令和GitHub。除此之外,它可以帮助开发者创建一个可以在求职面试中展示的才华的好组合。

 

本篇的技术实践也将帮你更好地理解如何将Git与远程仓库(GitHub等平台上托管的仓库)的协作使用。还将在终端上提升您的知识技能。

 

不要忘记开始时我们设定的基本规则:

 

1、创建一个新的学习项目

2、在分支里工作

3、提交更改,直至它们被推送到GitHub

就是这些内容。

 

当您忘记一些东西时,可以再回来看本篇文章,按照这个循序渐进的技术指南进行操作~


作者:海边的卡夫卡



About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK