数据科学的Git介绍

数据科学的Git介绍

数据科学和工程领域的互动越来越多,因为数据科学家正在生产系统上工作,并加入研发团队。我们希望让没有工程经验的数据科学家更简单地了解核心工程的最佳实践。

我们正在建立一个关于工程主题的手册,如GitDocker、云基础设施和模型服务,我们听到了数据科学从业者的想法。

Git简介

一个名为Git的版本控制系统是用来跟踪随着时间推移对源代码所做的修改。

如果没有一个版本控制系统,在同一个项目上工作的多人之间的合作是完全混乱的。由于没有人对自己的修改进行跟踪,要把它们合并成一个基本事实变得非常困难,解决最终的冲突变得不可能。Git和建立在它之上的更先进的系统(如GitHub)提供了解决这个问题的工具。

通常情况下,每个用户将克隆一个中央资源库到他们的本地系统(称为 “原点 “或 “远程”),每个用户将克隆到他们的本地机器(称为 “本地 “或 “克隆”)。用户一旦将相关工作(称为 “提交”)存储在他们的计算机上,就会将他们完成的工作 “推送 “和 “合并 “回中央仓库。

Git和GitHub的区别

Git既是用于跟踪和合并源代码变化的基础技术,也是其命令行客户端(CLI)。

一个名为GitHub的在线平台是在git技术的基础上创建的,使其更加简单。此外,它还提供自动化、拉动请求和用户管理等功能。GitLab和Sourcetree是另外两个选择。

数据科学的Git

在数据科学中,我们要用一些模型和算法来分析数据,一个模型可能是由多个人创建的,这使得它很难处理并同时进行更新,但Git通过存储以前的版本使这一切变得简单,并允许许多人在同一时间在同一个项目上工作。

让我们来看看一些在开发者中非常常见的Git术语

术语

  • 存储库 – “数据库”,包含一个项目的所有分支和提交内容

  • 分支 – 存储库的替代状态或发展路线。

  • 合并 – 将两个(或多个)分支合并为一个分支,一个真理是合并的定义。

  • 克隆 – 本地复制一个远程版本库的过程。

  • 原点 – 本地克隆是由一个远程版本库制作的,它被称为原点。

  • Main/Master – 根分支是真理的主要储存库,其常见的名称包括 “main “和 “master”。

  • 阶段–选择在这个阶段的新提交中包括哪些文件

  • 提交 – 对版本库中的文件进行的分阶段修改的存储快照被称为 “提交”。

  • HEAD – 本地版本库中当前提交的缩写。

  • 推送 – 将修改发送到远程仓库供公众查看,被称为推送。

  • 拉取 – 拉取是将其他人的更新添加到你的个人版本库的过程。

  • 拉动请求 – 在将你的修改合并到main/master之前,使用拉动请求机制来审查和批准这些修改。

正如我们上面讨论的那样,我们需要一些通常使用的命令,让我们在下面讨论它们。

  • git init – 在你的本地电脑上创建一个新的版本库。

  • git clone – 开始编辑一个已经存在的远程版本库。

  • git add – 选择要保存的文件(暂存)。

  • 用git status显示你修改过的文件。

  • git commit – 以快照的形式存储所选文件的副本(提交)。

  • 使用git push命令将你保存的快照(提交)发送到远方的仓库。

  • 用git pull命令把别人的当前提交拉到自己的电脑上。

  • 用git分支创建或删除分支。

  • git checkout – 更改分支或逆转本地文件的修改。

  • git merge – 用git合并分支,创建一个单一的分支或单一的真理。

顺利处理Git流程的规则

在实际项目中,Git有很多优势,但在一些规则或情况下,用户出于安全或其他原因,需要谨慎地进行一些数据或步骤。

在GitHub上传项目的过程中,有一些规则可以顺利处理

不要推送数据集

Git是用来跟踪、管理和存储代码的,但把数据集放在它上面并不是一个好的做法。保持对数据的跟踪,有很多好的数据跟踪器可用。

不要强求秘密

由于在GitHub或git上发布或推送的代码可能是私有的,用户也可以将其公开。但是,即使推送到git中心的代码或数据是私有的,由于安全原因,也不建议把密码等秘密放在那里。

不要使用–force

-force方法用于各种情况,但不建议使用它,主要是因为在推送代码到git时,如果有错误,会被编译器或CLI显示出来,使用force方法把数据放到服务器上,但这不是一个好办法。

做一些有明确描述的小提交

初学者可能不善于做小的提交,但建议做小的提交,因为它们使开发过程的观点更加清晰,有助于未来的更新。另外,写一个好的、清晰的描述也会使同样的过程更容易。

结论

一个叫做Git的版本控制系统是用来跟踪源代码在一段时间内的变化的。如果没有版本控制系统,多人在同一项目上的合作就完全是混乱的。Git既是基础技术,用于跟踪和合并源代码的变化,也是其命令行客户端(CLI)。一个名为GitHub的在线平台是在Git技术的基础上创建的,使其更加简单。此外,它还提供自动化、拉动请求和用户管理等功能。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Python 教程