上海建设交通网站,怎么检查网站死链,公司装修开工大吉贺词,站长基地gif网站素材也许你在别的地方听说过Git。也许有人告诉过你#xff0c;Git只适合软件开发人员。如果你是数据科学家#xff0c;那么Git其实对你很重要。本文作者希望能够通过经验分享让你了解Git的重要性#xff0c;以及如何在你的数据科学工作中使用它。
什么是Git#xff1f;
Git是…也许你在别的地方听说过Git。也许有人告诉过你Git只适合软件开发人员。如果你是数据科学家那么Git其实对你很重要。本文作者希望能够通过经验分享让你了解Git的重要性以及如何在你的数据科学工作中使用它。
什么是Git
Git是一个分布式版本控制系统用于在软件开发期间跟踪源代码的更改。看看维基百科给出的这个定义好像Git专门是为软件开发人员而设计的。实际上Git是当今世界上使用最广泛的现代版本控制系统它是以分布式的协作方式为项目开源或商业做出了伟大的贡献。除了分布式版本控制系统之外Git的还考虑了性能、安全性和灵活性。现在你已经了解了Git是什么但是你脑海中的问题可能是“如果我是做数据科学项目的人它与我的工作有什么关系”以前我也一样不能理解Git的重要性直到我开始在现实工作环境中我才发现它时如此重要
为什么是Git
我们来谈谈为什么一年前我决定学习Git。我在Github上分享并发布了我的代码这是我在CERN的论文项目。虽然很难理解Git中常用的术语git-add、commit、push、pull等但我知道这在数据科学领域很重要这使我的数据科学工作比以往任何时候都更加充实。
所以我保持学习状态并坚持“committing”。当我加入我目前的公司时我在Git方面的经验就派上了用场因为Git是跨不同团队进行代码开发和协作的主要方式。更重要的是当你的组织遵循敏捷软件开发框架时Git尤其有用在该框架中Git的分布式版本控制使整个开发工作流更加高效、快速且易于适应变化。那么什么是版本控制呢版本控制是一个系统记录一个文件或一组文件随时间的变化以便你以后可以调用特定的版本。比如说你是一个数据科学家与一个团队合作在这个团队中你和另一个数据科学家在构建机器学习模型的时候对同一个特征进行工作。如果你对该特征做了一些更改并上传到远程存储库并且这些更改与主分支合并那么你的项目现在变成了1.1版本。另一位数据科学家也对版本1.1的相同功能进行了一些更改新的更改现在与主分支合并。模型就变成1.2版本。在任何时候如果你的团队发现版本1.2在发布期间有一些错误他们随时可以调用以前的版本1.1这就是版本控制的美妙之处。
作为数据科学家如何使用Git
我们已经讨论过什么是Git及其重要性。现在的问题归结为作为数据科学家如何使用Git作为数据科学家你不需要成为一个Git领域的专家。关键是要理解Git技术的工作流程以及如何在日常工作中使用Git。准确地说我在这里使用的是Git Feature Branch Workflow它通常被开源和商业项目使用。如果你想更多地了解这里使用的术语点击这里进行了解。
Git Feature Branch Workflow
Feature Branch Workflow像一个中央存储库master分支代表正式的项目历史记录。开发人员每次开始处理一个新特性时都会创建一个新的分支而不是直接提交到他们的本地主分支上。新的分支可以也应该推送到中央存储库。在这种情况下可以在不修改master分支的情况下与其他开发人员共享一个该分支。
在开始执行任何操作之前请键入
span stylecolor:#f8f8f2code classlanguage-nonegit remote -v/code/span
以确保工作区指向要使用的远程存储库。 1、从主分支开始创建一个新分支
span stylecolor:#f8f8f2code classlanguage-nonegit checkout master
git pull
git checkout -b branch-name/code/span
如果总是维护和更新主分支则切换到本地主分支并将最新的提交和代码提取到本地主分支。假设你希望创建一个本地分支向代码中添加一个新功能并稍后上传到远程存储库。一旦你将最新的代码更新到本地master分支我们就创建并checkout出一个名为branch-name的新分支所有的更改都将在此本地分支上进行。这意味着你本地的master分支不会受到任何影响。
2、更新、添加、提交并将更改推送到远程存储库
span stylecolor:#f8f8f2code classlanguage-nonegit status
git add your-files
git commit -m your message
git push -u origin branch-name
/code/span
上面我们做了很多操作让我们详细了解它。一旦发生了一些更新就将新的操作add到本地分支并且希望将该操作上传到远程分支以便合并到远程主分支。git status将输出你对文件的所有更改跟踪或未跟踪。在使用git commit-m“your message”提交消息更改之前你将使用git add your files决定要暂存哪些文件。
在此阶段你的更改仅显示在本地分支中。为了使你的更改显示在BitBucket上的远程分支中你需要使用git push -u origin branch-name命令进行提交。此命令将该分支推送到中央存储库并且-u表示将其添加为远程跟踪分支。在设置了跟踪分支之后可以在没有任何参数的情况下调用git push以自动将新的功能分支推送到BitBucket上的中央存储库。
3、创建pull请求
现在你已经成功地添加了一个新功能并推送到远程分支。你为自己的贡献感到骄傲你希望在将远程分支与远程主分支合并之前得到团队成员的反馈。在该分支合并到主分支之前让其他团队成员有机会对其进行审查。你可以在BitBucket上创建pull请求。现在你的团队成员已经查看了你的代码并决定在代码可以合并到主代码库-master分支之前需要你进行一些其他更改。
span stylecolor:#f8f8f2code classlanguage-nonegit status
git add your-files
git commit -m your message
git push
/code/span
现在你可以按照与之前相同的步骤进行更改、提交并最终将更新推送到中央存储库。一旦使用了git push你的更新将自动显示在pull请求中。如果其他人已将目标更改为你所接触的同一代码则会发生合并冲突这在工作中很常见。你可以在这里看到如何解决合并冲突。一旦一切顺利完成这些功能将会合并到master分支中。
当我第一次开始学习Git时我感到非常沮丧因为我仍然没有真正理解工作流。这也是写这篇文章的主要原因之一它真正分解并在更高层次的理解上向你解释工作流程。因为我相信对工作流程中发生的事情有一个清晰的了解将使学习过程更加有效。
原文链接 本文为云栖社区原创内容未经允许不得转载。