什么是 GitHub?GitHub 有什么用?
如果您在技术领域,即使您不是专业的开发人员,也很有可能听说过GitHub。在学习软件或 Web 开发时,您甚至可能偶然发现了一两个 GitHub 存储库。
尽管如此,如果您从未使用过 GitHub,它似乎令人困惑。它是云存储站点吗?程序员的社交网站?代码共享网站?事实证明,所有这些的答案都是肯定的,甚至更多。
今天,GitHub 是开发人员共享代码和共同处理项目的最受欢迎的资源之一。它是免费的、易于使用的,并且已经成为开源软件运动的核心。
什么是 GitHub?
GitHub 是一个在线软件开发平台,用于存储、跟踪和协作软件项目。它使开发人员能够上传自己的代码文件,并与其他开发人员合作开发开源项目。GitHub 还作为一个社交网站,开发人员可以在其中公开交流、协作和宣传他们的工作。
自 2008 年成立以来,GitHub 已获得数百万用户,并将自己确立为协作软件项目的首选平台。该服务是免费的,并带有几个有用的功能,用于共享代码和与他人实时合作。
除了与代码相关的功能,GitHub 还鼓励用户为自己建立个人资料和品牌。您可以访问任何人的个人资料,查看他们拥有和参与的项目。这使得 GitHub 成为程序员的一种社交网络,并促进了软件和网站开发的协作方法。
什么是 Git?
Git 是开源版本控制软件,用于管理和跟踪文件修订。它可以用于任何文件类型,但最常用于跟踪代码文件。Git 是软件开发中使用最广泛的版本控制系统,GitHub 利用这项技术提供服务,因此得名。
对于软件项目,尤其是协作项目,高级版本控制是必要的。在构建软件时,开发人员经常同时更新代码以添加功能和修复错误。直接对源代码进行这些更改是没有意义的,因为任何问题都会影响用户。相反,开发人员使用他们自己的代码副本,然后——在代码经过彻底测试后——将此代码添加到主代码库中。
这似乎一切都很好。但是,对于多个贡献者,如果无法将每个人的贡献合并到一个统一的代码库中或查看谁贡献了哪些更改,事情会很快变得非常混乱。还必须跟踪和存储这些更改,以防万一出现问题并且开发人员需要回溯和恢复以前的版本。
这就是 Git 的用途。当开发人员想要对软件进行更改时,他们将自己的源代码副本从其中央存储位置(称为存储库,或简称为“repo”)下载到其本地系统,然后安全地对自己的副本进行修改,然后将他们的修订副本与存储库中的源文件以及解释更改的注释合并回。Git 跟踪所有这些修改并将以前的版本存储为备份。
GitHub 有什么用?
GitHub 允许软件开发人员和工程师在云上免费创建面向公众的远程存储库。在 GitHub 上设置存储库后,您可以将其复制到您的设备,在本地添加和修改文件,然后将您的更改“推送”回存储库,您的更改将在那里向公众显示。
那么,为什么您更喜欢 GitHub 而不是使用私有存储库进行开发?以下是 GitHub 如此重要的关键原因:
增强协作
GitHub 的最大卖点是它的一组项目协作功能,包括版本控制和访问控制。
为了说明 GitHub 的可能性,请想象以下场景:您想编写一个在线游戏,并请您的朋友帮助您。您在 GitHub 上创建一个存储库来存储所有文件,包括当前和过去的版本,然后让您的朋友合作者也可以访问此存储库。
您决定处理主要游戏玩法和屏幕,而您的合作伙伴则处理游戏的菜单和设置屏幕。为了让你们俩同时推送您的更改而不干扰对方的工作,您创建了一个分支——一个单独的开发区域——您的团队成员可以在其中构建他们的屏幕。同时,您继续在您的分支机构工作。
一旦你的朋友完成了他们的工作,他们可以提出一个请求,要求将他们的工作与你的工作结合起来。如果您批准,您可以合并您的分支,从而合并您的代码。
现在,假设另一个开发人员看到了您游戏的存储库,并想添加多人游戏模式。他们可以分叉——或者制作他们自己的——你的存储库的副本,然后添加他们的新功能。完成后,他们可以向您提交拉取请求。如果您同意,这个分叉的存储库将与您的合并,您的游戏现在是多人游戏!请注意,任何人都可以分叉公共存储库,但接受或拒绝拉取请求取决于存储库所有者。
当然,没有一开始就完美的软件,这就是为什么您的 GitHub 存储库也有一个问题部分,用于列出待办事项和报告游戏问题、讨论它们并标记它们已解决。为了解决这些问题,您可能会回顾文件的更改日志,以了解出现问题的时间和地点。
总而言之,GitHub 提供了一个集中的空间,几个、几十个甚至数千个开发人员可以无缝地为一个项目做出贡献,而不必担心覆盖任何人的工作或丢失更改的跟踪。
轻松的文件管理
GitHub 在 Git 之上添加了一个时尚的图形用户界面 (GUI) 层。Git 本身通过命令行(计算机的基于文本的界面)运行。开发人员知道如何使用命令行,但对许多人来说,它并不总是与文件交互的最有效方式。
GitHub 的界面提供了一种干净且用户友好的方式来执行 Git 操作以及查看文件历史记录。这对开发人员来说更方便,对初学者来说更容易掌握 Git。
另一个让 GitHub 更易于访问的好处是其基于云的基础设施。GitHub 用户可以从任何位置和任何设备访问他们的存储库、下载存储库并推送他们的更改。使用 GitHub 意味着您不仅限于一种设备或环境。
社交网络
任何 GitHub 用户都知道该平台不仅仅是一个处理代码的地方。所有 GitHub 用户都有个人资料,可以在网站上显示他们的项目、贡献和活动,并且可以查看任何人面向公众的个人资料和存储库。
GitHub 的社交网络对其成功至关重要,因为它鼓励开发人员探索各种开源项目并为之做出贡献。以前,有抱负的合作者必须亲自与项目所有者联系,以获得贡献许可。使用 GitHub,就像 fork 项目然后发出拉取请求一样简单。然后,项目所有者可以在接受他们的请求之前审查某人的个人资料和过去的贡献。
GitHub 还可以作为一种向雇主展示项目的方式,充当各种投资组合。例如,招聘人员经常使用 GitHub 来寻找人才,因为任何人都可以查看潜在客户的代码。
开源项目
GitHub 推动了开源协作的激增,从而创造了许多广泛使用的软件技术。从CSS 框架到数据可视化库,再到您可能会花太多时间玩的游戏,如果没有开放的 GitHub 存储库,许多令人印象深刻的壮举就不会出现。
作为 Web 2.0 的一个趋势,GitHub 还向任何想要学习编程的人开放了软件开发,培养了一个参与、创新和高效的社区。
私有仓库
但是如果一切都是免费和开源的,GitHub 怎么赚钱呢?答案是 GitHub 也提供付费服务,包括私有存储库。在付费计划中,团队可以在 GitHub 上进行协作,同时将他们的代码隐藏在封闭的虚拟门之后。GitHub 还提供企业解决方案,为组织配备内部协作工具。
如何开始使用 GitHub
在 GitHub 上出售?以下是如何开始。提醒一下:在使用 GitHub 之前,您应该习惯使用命令行,因为 Git 使用终端作为其界面。
1. 在您的设备上安装最新版本的 Git。您需要安装 Git 才能使用 GitHub 存储库。有多种方法可以做到这一点,因此请遵循 Git 网站上的建议。Git 软件是免费的。
2.安装 Git 后,转到 GitHub 的网站并使用您的电子邮件地址创建一个帐户。
3.设置 GitHub 帐户后,您将被带到仪表板。要启动您的第一个存储库,请单击左侧的创建存储库。
4.在Create a new repository屏幕上,输入您的存储库名称和可选描述(您可以稍后更改)。
5.在同一屏幕上,为您的项目添加一个 README 文件(描述您的项目的文本文件,以及开发中的最佳实践)、一个 .gitignore(删除不相关的文件,如 .DS_Store)和一个许可证。
6.单击创建存储库。您将被带到您的主存储库页面,其中列出了您的文件。
7.您现在将创建 GitHub 存储库的本地副本(或用 GitHub 术语“克隆”您的存储库),您将在其中编辑文件并推送更改。在您的主存储库页面上,单击绿色代码按钮,然后复制存储库的 HTTPS URL。
8.打开终端并导航到要放置存储库副本的目录。
9.在终端中,输入git clone。在此之后粘贴您之前复制的存储库 URL。您的命令应如下所示:
git clone https://github.com/your-username/your-repo-name.git
10.按Enter 克隆存储库。您将看到一个新文件添加到您的本地文件系统,其中包含您的存储库名称。如果您打开此文件,您将看到它包含 GitHub 存储库中的文件。这些是您的存储库文件的复制版本,您可以对其进行编辑然后推送回您的存储库。
11.让我们在您克隆的存储库中创建一个新文件,然后将其推送到 GitHub。在您的本地克隆中,创建一个名为hello.txt的新文本文件。在其中粘贴文本Hello, world! 并保存文件。
12.在终端中,导航到您克隆的存储库内部。
13.在终端中,输入git add 。并按Enter。这会准备好要推送的克隆存储库中的所有文件。
14.在终端中,输入git commit -m “ added hello.txt”并按Enter。这会将您的更改提交到更改日志。引号中的文本是简要描述提交目的的注释。
15.类型的git推原点主要在终端和按回车。
16.返回您的 GitHub 存储库,您将看到添加的新文件。
GitHub:软件背后的平台
当我们想到技术创新时,有时很容易将一切归因于一个人——想想史蒂夫·乔布斯或比尔·盖茨。当然,现实情况是,软件的进步要归功于数百万专业和业余开发人员共同努力以新方式开发新事物。
这就是 GitHub 的美妙之处:它降低了协作的门槛,因此任何人都可以将他们的想法投向他们选择的项目,或者开始他们自己的项目。很难想象在 GitHub 出现之前的开源软件世界——事实上,肯定会少很多。现在,它已准备好供任何人探索,包括您。