Git 数据科学项目的分支机构

Git 数据科学项目的分支机构,git,data-science,Git,Data Science,我有一个Git存储库,我正在其中开发一个数据科学项目,偶尔会有其他人的贡献。 它涉及 我正在开发一个软件包 实验-使用包说明外部保存的数据的脚本 到目前为止,我一直在使用两个分支: development-在该分支上准备了新版本的软件包(例如,需要更改API或需要新功能) master-这始终保持软件包的当前工作版本,这样每个人都可以克隆/下载软件包并开始自己的实验 新的实验只致力于master,现在我觉得有点奇怪。还有更好的选择吗?我应该创建一个分支机构吗?我想你需要的是一个工作流和分

我有一个Git存储库,我正在其中开发一个数据科学项目,偶尔会有其他人的贡献。 它涉及

  • 我正在开发一个软件包
  • 实验-使用包说明外部保存的数据的脚本
到目前为止,我一直在使用两个分支:

  • development
    -在该分支上准备了新版本的软件包(例如,需要更改API或需要新功能)
  • master
    -这始终保持软件包的当前工作版本,这样每个人都可以克隆/下载软件包并开始自己的实验

新的实验只致力于
master
,现在我觉得有点奇怪。还有更好的选择吗?我应该创建一个分支机构吗?

我想你需要的是一个工作流和分支机构管理策略

Git工作流非常复杂,很大程度上取决于个人偏好和团队规模。我总是发现Atlassian编写的工作流比较对企业项目非常有用(可在上找到)。我个人更喜欢将其中描述的Gitflow模型用于中型项目

如果你有一个小团队和对细节的关注,你可以只考虑基于树干的开发()。或者您可能根本没有分支策略


在您的情况下,如果您对“实验”有任何质量控制机制,您可能希望在验证之前不让它们进入develop/master,这可能会保证在批准pull请求之前通过CI运行测试的分支策略。

实际上没有一个固定的标准。在我的工作中,master仅用于生产准备代码(或最终版本)。develope是针对我们准备进行一致测试的特性,develope的分支是我们正在开发的新特性。这对我们有效,但对你可能无效。这取决于什么样的逻辑对你来说是有意义的,因此,我认为这个问题主要是基于观点的,是离题的。我发现这个问题非常基于观点。另外,创建一个新分支的危害是什么?在git中需要一两秒钟,因为git与其他VCS不同。