我一直在使用Visual Studio Team Services(Visual Studio Online)进行版本控制。作为备份,我将项目文件保存在OneDrive上,并在那里映射根工作空间。在RC 1的推出及其对Azure的支持后不久,我们已经开始将所有项目迁移到ASP.NET 5,事情真的非常棒,我真的很喜欢客户端开发的GruntJS任务运行器,但问题是这是节点模块创建一个高度嵌套的文件夹结构,导致OneDrive同步失败。
客户端开发在TypeScript中进行,而grunt仅用于编译JavaScript文件的捆绑和缩小目的。由于Web优化不是ASP.NET 5中推荐的方法,我找不到.NET Core的任何端口
在搜索解决方案的时候我偶然发现了一个链接,说OneDrive for Business没有这个限制,我们为组织订购了Office 365,并尝试在那里同步项目,但是因为OneDrive for business有这个限制而失败了。
虽然有一个UserVoice suggestion for this,微软代表说他们正在考虑这个问题,但是直到实现这个问题,我想要为GruntJS for ASP.NET 5寻找替代方案。
由于我们构建的大多数应用程序都是单页企业应用程序,用户在工作日开始时打开应用程序并在一天结束时关闭选项卡,很少刷新应用程序,因此我们现在可以无需优化,但只是出于对面向消费者的应用的好奇心,GruntJS for ASP.NET 5还有其他选择。
修改
需要注意的要点
摘要
我同意这个问题具有非常具体的性质,但它可能对未来的读者有所帮助,他们要么寻找类似的解决方案,要么只是为了获得更多的知识。
答案 0 :(得分:2)
两件事:
Team Foundation Services / Visual Studio online是您的源代码控制解决方案,您为什么需要/想要在其他地方备份它?
我可能会从您的同步中排除您的节点模块。您的项目配置文件将包含您需要的节点模块列表,如果您想将应用程序移动到新计算机或文件夹,则只需再次运行npm install
即可下载软件包。
编辑:
只有在需要提交代码时才会发生TFS签入,但是 OneDrive同步在后台自动连续发生 硬件崩溃或设备丢失(或任何原因) 世界阻止我们访问代码),TFS无法做到 提供未提交的开发代码。一个驱动器 从这些场景中拯救我们
这表示您的支票可能太大或不够频繁。 你多久登记一次?您的硬件多久失败到丢失所有文件的程度?这是否可以接受?
一个驱动器允许我们停止将实时可用的所选文件夹同步到本地,但我们无法停止本地文件夹的同步 生活
这就是为什么你应该使用TFS / VSO作为控制源控件存储库中存储的文件的机制。出于这个原因,存在.gitignore
或.csproj
文件等系统。
EDIT2:
我努力不要过于苛刻,我同意这是一个问题,可能会被OneDrive以某种特定的方式解决,但我试图执行相当于{{3 }}
你说过:
TFS无法提供未提交的开发代码。 OneDrive将我们从这些场景中拯救出来
和
签入过程主要发生在积压的已分配任务的很大一部分完成时。在50%的情况下,它的工作时间为2-6小时,但在剩下的一半中可能发生在2-3个工作日内,最糟糕的情况是5天,如果假期发生在两者之间
好的,那就谈谈吧。如果硬件出现故障,您希望防止代码丢失,确保我们都这样做。看看你的数字2-6个工作时间似乎是合理的,所以你看着失去0.25到1天(棒球场)。我认为更大的问题是如果人们5天没有办理登机手续。你提到5天可能是更糟糕的情况,只有在假期发生的情况下,所以在最糟糕的情况下,这不是5个工作日,它是2-3个工作日。
然后你说:
假设硬件故障的可能性为每年一次,导致5个工作日的损失
所以,上面你已经说过2-6个小时办理登机手续(有例外),但你基于5个工作日的假设决定为这个问题找到解决办法。只有在假期发生时,您才会说5天(不工作)。所以你的风险数据确实被夸大了。
让我们更加现实,并说您每年有一次硬件故障,而且您将失去4个小时的工作时间。 从OneDrive,你需要多长时间才能恢复这项工作?让我们猜几分钟连接并下载它,也许半小时到一个小时来解决冲突(#optimism)。因此,假设每年净节省3个小时......每年一次......您是否认为这足以将所有代码备份到异地云提供商?
您谈到重新安装VS所花费的时间,但这与将文件备份到OneDrive无关,您无论如何都需要这样做。
说实话,我认为你对丢失未提交代码的恐惧是不成比例的,我认为你的反应也是如此。 TFS和VSO提供了类似搁架的功能,可以用于这种情况。
作为一名企业开发人员,我确实理解这个问题,但通常你会通过使用具有RAID阵列或类似功能的计算机来解决这个问题。
我认为您应该重新评估您的签入政策以及您对丢失代码的可能性的评估。