【问题标题】:How do you manage versions? [closed]您如何管理版本? [关闭]
【发布时间】:2014-04-05 00:50:44
【问题描述】:

我是一名自学成才的程序员(经过培训的分析化学家,现在更像是一名生物信息学家和计算生物学家)。我的代码在可能不会多次使用的一次性工作与不断构建在自身或我编写的其他模块之上的代码之间交替进行。我是唯一一个处理此代码的人,但我在许多地方都在处理它。出于这个原因,我使用 Dropbox 来保持我所有的项目同步。问题是,目前当我对文件进行重大更改时,我要么在文件中做笔记并注释掉旧部分,要么只是在文件名中添加一个计数器(v1、v2 等)。这在我的代码和我的目录中都会变得混乱。

我意识到这不是跟踪版本的最有效方法,但是当只有我一个人时,我可以非常快速地在文件之间移动、调试或改进,如果我需要返回一个版本,Windows 中的“以前的版本”可以工作,或者 Dropbox 保留版本。这与必须使用 Git-hub 之类的东西提交、拉取、分支等相反。

谁能再次推荐一个更好的工作流程,让一个人跟踪代码?与其保留所有的 v1、v2 等,不如在某个地方记录它们,方便比较以查看更改,以及在需要时使用它们的能力。

【问题讨论】:

  • 没有此类系统的经验,不推荐,但我想指出,Matlab 支持不同的源代码控制系统。请参阅“首选项/常规/源代码管理”。
  • 即使我的工作方式也类似。我也想知道更好的工作流程。
  • 错过了这一点我觉得很愚蠢。我以为它只是我不使用的包/工具箱的一部分(Simulink)。说我需要找一个64位的源代码控制系统,有一些可以尝试。我还遇到了this 较早的帖子。但这是最好的路线(在 matlab 内运行)而不是在 matlab 之外?

标签: git matlab revision-history


【解决方案1】:

我真的建议您开始使用分布式版本控制系统 (DVCS),例如 GitMercurial

您无需停止使用 Dropbox,而是将您的共享代码文件夹变成一个存储库,让您可以经常提交任何重要的更改。

如果您需要协作,可以考虑使用 GithubBitbucket 等托管解决方案,但您也可以轻松地与其他协作者共享您的 Dropbox 文件夹。

这样您将获得一个相对简单但功能强大的工作流程。

【讨论】:

  • 那么在这种情况下,我是否会以某种频率(比如每天结束业务)将 dropbox 文件夹中的更改提交到 GIT 存储库?如果我需要查看以前的版本,我可以通过 Git,但否则,我会像往常一样在同一个文件夹中工作吗?其次,这会帮助我绕过过多的版本命名方案吗?感谢您的帮助。
  • 实际上,您将在 Dropbox 共享文件夹中托管整个 git 存储库,因此您可以从任何计算机提交到存储库。 Git 会将所有历史信息保存在 .git/ 子文件夹中,而您的代码的当前状态是文件夹中的其他文件,就像往常一样。您不需要跟踪文件名中的版本,因为现在您可以在必要时轻松检查代码的早期版本。
  • 您必须考虑的一件事是,从历史记录中检出以前的版本会将文件夹中的可见文件替换为该版本中代码的状态。除非您已提交所有当前更改,否则它将不允许您这样做,这样您就不会丢失它们(而不是正式提交它们,您也可以临时存储您的最新更改)。完成检查或测试之前的版本后,您就可以轻松地检查最新版本并继续工作。
  • gitref.org 是一本很好的 Git 入门书,可以帮助您了解它的工作原理。您可能希望使用 GUI 进行日常操作:git-scm.com/downloads/guis
  • 大家,我非常感谢您的建议和资源。我认为这个提议的设置将完美运行,也将帮助我更好地使用 Git,如果我需要与其他程序员一起处理更大的项目,这将很好地转化。谢谢。
猜你喜欢
  • 1970-01-01
  • 2012-10-06
  • 2010-09-13
  • 1970-01-01
  • 2012-08-22
  • 1970-01-01
  • 2010-09-11
  • 2011-12-12
  • 1970-01-01
相关资源
最近更新 更多