我正在做硕士论文,并试图决定最好的方式来组织我的MATLAB数据处理文件。我想征求关于使用的最佳版本控制系统的建议。什么才是合适的社区?我的工作包括以下几点:
我开始厌倦了Google备份时间的不确定性,因为我想让电脑在我离开学校的时候备份所有的文件,并让它们与我的笔记本电脑同步。(有没有办法迫使这种情况手动发生?)
我对Git也有一点了解,并认为这对我很有帮助,因为我做了大量的代码修改,以使事情变得更好。现在,我有大量的死文件,并且通过定期复制我的工作文件夹来获得以前状态下的快照,从而进行了非常粗糙的“版本控制”。我相信吉特会是一个更好的选择。
GitHub的一个问题似乎是隐私方面;我不喜欢所有代码都公开的想法。无论如何,我正在试图找到最好的Git或其他软件(或同步系统),这将是最好的这种类型的工作流。谢谢。
发布于 2018-05-22 19:07:52
首先,现在就开始使用git --即使它只在本地存储库上,这样您就可以从中学习--但是不要将它放在Google或其他文件共享上,因为它可能因此而损坏。许多文件共享站点都在小字体中发出通知,不要将它们用于托管存储库,因为它们有时会做出将使存储库框失效的更改,这一点尤其糟糕,例如跳过它们不喜欢的文件,或者以不同的方式存储它们。
最简单的方法是在拼贴机的硬盘上有一个工作存储库,在家用计算机上有另一个存储库,在可移动驱动器上有一个传输存储库(USB棒)。在您离开一个位置之前,请签入&推送您的更改,然后从您的传输驱动器中提取更改,当您到达另一个位置时,从驱动器中拉动。(比你想象的要快得多)。
请注意,如果您忘记在位置之间同步,则git非常擅长将更改合并到纯文本文件,但如果您处理不同的文件组(例如不同的问题),则会更容易,直到您有机会得到同步--不要尝试合并二进制文件。
在使用USB驱动器在位置之间工作时,您可以获得更复杂的工作流程(假设您已经有了一些重要的快照):
git initgitignore文件,例如:*.bak --有关更多信息,请参见git help ignore。git status将允许您查看git认为可能需要签入的内容。git add一次一次添加文件,或者使用git commit -a一次性添加文件,但请参阅下一点git commit -a -m"This is my old first snapshot from back in June" --如果您忘记了-m消息,编辑器将为您打开其中一个。git status将告诉您哪些文件实际更改了。gitignore文件中添加可能需要的任何新模式。git clone和您的存储库在该机器上的位置的路径。这将创建一个新目录,其名称与路径的最后一部分相同。git remote add usb d:/my_repo,而不是d:/my_repo。这允许您使用git push usb使用签入更新usb驱动器。git clone e:/my_repo注意,我假设驱动器号可能有所不同。git remote add usb ...,这样您就可以在两个位置使用相同的push命令。您还可以考虑在以下之一上拥有一个私有存储库:
你会养成一个很值得培养的习惯(S):
注意,几乎每个版本控制系统都需要这些步骤,但是名称不同。
发布于 2018-05-22 18:23:17
并不是专门为用例设计的,但是同步可能是一种选择。它是为节点之间几乎连续的数据同步而设计的(在最近的版本中,在某些配置下进行近乎实时的同步),虽然它没有您可能认为的传统版本控制,但它确实有一个稍微简单但健壮的版本控制系统(它允许只保留最后一个副本,保留一些按日期标记的副本,或者使用渐进的细化方案,甚至是外部脚本)。它也是自由和开放源码软件,使用最少的资源,并且不需要任何中央服务帐户(如果两个节点都在NAT防火墙之后,它可以通过外部服务器中继数据,但是中继节点只会看到加密的数据)。如果您只需要版本控制,以便可以回滚您对文件所做的更改,那么我就会这么做。
就更传统的VCS软件而言,Git应该很好,但有一个非常重要的警告:如果可能的话,您不应该将它用于二进制文件(它是为面向行的文本数据设计的,因此它在有效处理二进制数据方面非常糟糕)。虽然您关于Github的公共性质的观点是有效的(大多数情况下,有一个付费版本可以让您拥有私有存储库),但重要的是要了解您实际上并不需要使用Github。Git是一个专门的分布式版本控制系统,它在传统的客户机-服务器配置中工作得很好,就像Github使用的那样(这是大多数人使用它的方式),但是它在其他配置(例如网格拓扑)中也同样工作得很好。
在您的情况下,只要您可以获得一个工作系统和家庭系统都可以访问的系统,并且一直都在运行(而且同样重要的是,使用Windows以外的操作系统,这样您就不必尝试将Git作为服务运行在Windows上),您就可以将主存储库存储在那里,并按需要推送和提取它,就像使用Github一样(几乎是因为您没有很好的web界面或简单的Windows集成)。
发布于 2018-05-22 18:50:22
考虑到Git提供了整洁而复杂的版本控制方法,Git似乎是一个不错的选择。如果您想使用GitHub,但将您的存储库保持为私有,您可以每月支付GitHub 7美元,它们将允许您制作私有存储库。或者避免使用GitHub,使用两台计算机中的一台或第三台机器作为Git服务器;只需安装Git并设置SSH访问。注意,以与GitHub私有存储库相同或更低的价格,您可以租用一个虚拟私有服务器,用于Git以及其他任何东西。
https://softwarerecs.stackexchange.com/questions/50264
复制相似问题