20

无极四荣耀注册《Q2404-8305 》从事任何软件项目,特别是在管理大型软件项目的组织中,几乎肯定会让你接触到版本控制系统(VCS)的概念。对于任何软件开发人员来说,了解如何使用VCS都是必不可少的,因为这是有效地协作构建软件的唯一实际方法。一旦您理解了Git(这里讨论的VCS)在团队代码协作和防止灾难的版本控制方面的全部威力,您就会想,如果您现在才开始使用它,为什么没有一直使用它呢?

Git是一个用于版本控制的开源平台。这是协作和开发软件的一种聪明的现代方式。现在有两个主要的支持者使用Git VC系统,即GitHub(由同名公司提供)和Bitbucket(由Atlassian提供)。

Git与其他版本控制软件的不同之处是什么?首先,除了可能为您节省做回归bug修复工作的时间外,是什么让VCS更适合使用?让我们来看看原因。

提前快乐

当您处理代码时,每当您实现一个新特性、修复一个bug或编写修改后的代码时,您都希望将这些更改记录到某个地方。这些变更也应该是一个运行的流,无极四注册每个变更都是在前一个变更之上累积保存的。这就是Git所做的,但是有一点不同。与只保存每个文件的基本版本和一组更改不同,每次提交时,Git会获取已更改文件的“快照”,以及与其他文件的所有链接和依赖关系,这样它就知道整个“文件系统”是如何组合在一起的。您可能认为这浪费了数据,但是Git很聪明地链接到以前相同的存储文件,如果它的内容没有改变的话。当考虑分支和类似的工作方式时(在术语部分讨论),用这种方式做事非常方便。

记住,Git是平台,GitHub是服务,有很多GUI客户机可以为您完成Git操作,包括Visual Studio、Atlassian的优秀SourceTree实用程序,以及SyntEvo在Linux上的等效工具SmartGit。要使用Git,您可以选择使用控制台命令,或者使用这些Windows/Linux客户机来管理您的项目。

Data-Conscious

Git和互联网

使用Git,不需要连接到互联网

美国南非人正在努力解决数据使用问题;我们这些使用无封顶ADSL的人通常会对那些不得不使用封顶包或更糟糕的移动3G加密狗的人大加赞赏。这就是为什么你会认为一个版本控制系统在每次修改代码时都对你的代码进行保姆式的检查,这听起来是难以置信的数据饥渴。但是,在Git的情况下,无极4您将在本地计算机上存储项目的整个历史。此外,您所做的新更改也会被附加到这个更改日志中。这意味着您可以将当前代码与历史副本进行比较,并在运行过程中对代码进行更改,而完全不需要连接internet。

一旦你连接上互联网,你所有的本地更改都会同步到你的云存储库中。这种方式速度快得多,而且不会让您经常需要连接,所以当Eskom关灯时,或者您在Drakensberg没有信号时,使用版本控制编码是绝对有可能的!

Git-speak

在我们研究Git中的工作流之前,了解一些在考虑Git和版本控制时使用的关键术语是很重要的:

Repository,或repo:这是定义项目的文件集合。它有代码文件、它们的任何依赖项以及特定于git的文件,以帮助它跟踪什么是什么以及什么是在哪里。repos有两种,一种离线,存储在每个用户的电脑上,另一种(大部分)相同的版本链接在网上。Git客户机的全部意义在于保持这些单独的离线实例(项目回购的每个协作者的实例)同步,并与一个在线回购友好相处。

推/拉:拉是用在线回购中其他人所做的更改来更新本地回购的操作,而推则相反。为了避免混淆,Git通常要求先拉后推,以确保如果多个人员对同一个文件进行了更改,那么不会覆盖这些内容。

同步:一些Git GUI客户端使用这个选项,“智能”的拉/推。

提交:将变更“应用”到项目中的代码的操作。通常伴随着你要写的声明,确定这些改变已经实现了什么(例如,“修复了程序挂起的错误”或者“实现了保存特性”)。提交生成已更改文件和项目其余部分的快照,因此如果您以后搞砸了,您可以回滚到历史快照。

分支:Git中用于演奏的部分。假设您希望利用当前的代码库设计新特性,或修改代码,或处理团队中其他开发人员提供的项目的不同特性,而不需要提交可能破坏当前代码库的内容,从而影响当前代码库。这就是分支的作用:一条并行的开发“线”,在这条线上,您可以在不影响所谓的主版本的情况下进行自己的提交。在大多数软件项目中,经验法则是,master中的任何代码都应该始终工作。

合并:当一个分支的代码被重新集成到主分支中(或者另一个分支被重新集成到第一个分支中)。这通常发生在测试了特性开发之后。它还用于与其他代码合并,以及与不同分支上的其他代码处理不同的特性。参见下面的Pull Request。

拉请求:当分支中代码的程序员希望将其代码集成到项目的主分支中时,会打开一个拉请求。这允许其他协作者检查代码,讨论任何问题,并确保在合并到主分支之前它已经准备好了。如果你在帮助大型开源项目添加特性,这种事情经常发生;你会打开一个pull request,主要开发人员会检查你的代码,确保它在合并到主分支之前是正常的。

Fork:创建一个新的回购,以您选择派生的回购为基础。这允许您使用现有代码作为基础,并在其上进行开发。在派生回购之上的任何开发都不会考虑合并回原始项目。在很大程度上,fork经常用于Linux发行版,在这个发行版中,新的开发是从旧的、未维护的发行版或代码基中继续进行的。

发布:Git repo在其生命周期的大部分时间里都是由原始源代码组成的。发布是将代码“冻结”到某个点,并将其打包成一个漂亮的ZIP文件供他人下载的方式。这个版本ZIP没有更新,并且存储了关于该版本所包含内容的信息。应用程序版本版本以这种方式工作。

三阶段Git

让我们解释一下Git中状态的概念,以帮助理解所有术语。这定义了在后台使用版本控制时如何完成工作。

让我们来看一个场景:

你想要开始工作在一个现有的项目,但你还没有在你的本地设备上。从远程服务器存储库签出项目。

代码已经下载到工作目录中,可以开始工作了。

您可以自己对项目文件进行代码编辑,现在可以将它们集成到其他所有人都可以看到的项目中了。您可以将已更改的文件放置到暂存区域中。

提交操作将您在项目中所做的更改提交到存储库目录。

到目前为止,无极四荣耀招商这一切都可能是离线的。您可以同步以使您逐步完成的更改“坚持”到远程存储库中的代码。

Git-ting创意

这是对版本控制系统工作原理的一个非常基本的介绍,了解这一点将允许您保持工作的组织性,并在您最终破坏某些东西时避免潜在的故障。Git要比这强大得多,足以写一本大书,但是这个入门教程应该可以帮助您入门。

相关文章
为您推荐
各种观点

报歉!评论已关闭.