Google apps script 我的脚本repo已损坏,显然交叉引用了已保存的副本

Google apps script 我的脚本repo已损坏,显然交叉引用了已保存的副本,google-apps-script,Google Apps Script,我有一个与电子表格相关联的长脚本(超过500行),并保存了一份副本以备备份。在某种程度上,我对工作脚本所做的更改被忽略了——它将运行旧版本。例如,新的setValue语句被忽略,Logger.log方法也被忽略。重命名方法起作用,尽管以前命名的方法仍然可用 我通过删除副本解决了这个问题(尽管我试图删除的一个副本在删除时产生了一个系统错误) 最终,我在删除所有脚本副本后关闭了Chrome,重新打开发现删除的脚本副本不再列出,最近对工作脚本所做的更改现在被识别出来 很明显,回购协议已经被破坏了。这不

我有一个与电子表格相关联的长脚本(超过500行),并保存了一份副本以备备份。在某种程度上,我对工作脚本所做的更改被忽略了——它将运行旧版本。例如,新的setValue语句被忽略,Logger.log方法也被忽略。重命名方法起作用,尽管以前命名的方法仍然可用

我通过删除副本解决了这个问题(尽管我试图删除的一个副本在删除时产生了一个系统错误)

最终,我在删除所有脚本副本后关闭了Chrome,重新打开发现删除的脚本副本不再列出,最近对工作脚本所做的更改现在被识别出来

很明显,回购协议已经被破坏了。这不是个好兆头


有人遇到过这种情况吗?这种环境是脆弱的吗?我有失去我的项目的危险吗?

我没有经历过这种确切的情况,但我也经历过类似的怪事,我把这些怪事归因于谷歌架构的分布式特性

我不认为您会有丢失代码的风险,我肯定在平台上每天工作的几年中,以及在许多帐户和域中使用数十个脚本的几年中,从未丢失过任何东西

我不得不使用的最糟糕的修复方法是制作一个新的电子表格,并将我的代码和数据移动到新的表格中,以提供一个“新的开始”

我经常遇到的导致这种问题的一种情况是,如果我在现有脚本的“顶部”复制并粘贴一个大型脚本。例如,从“开发”拷贝部署到“实时”拷贝。在某些情况下,新粘贴的代码无法识别,旧代码要么继续运行,要么我收到错误,说找不到函数


我的看法是,您的代码在运行时被编译成某种可执行文件,并分发到Google的服务器上,有时您在脚本编辑器中看到的脚本与该可执行文件之间的链接会中断。但这纯粹是我的猜测

我也从来没有在几十个脚本中丢失过任何代码,但是由于有几个人打开了同一个项目,所以出现了一些回滚—不一定是在处理它,也不一定是在同一个脚本中,只是打开而已。例如,show.gs和hide.gs在同一个项目中,我正在处理show.gs,只有它是打开的,一个coleague也在做同样的事情,但是hide.gs,他保存最后一个,我在show.gs中得到一个回滚。@Kriggs这很有趣,很好知道,我很少有其他的程序员和我在同一个文档中工作,所以我从来没有以同样的方式遇到过这个问题。我知道脚本中所做的更改不会实时传播到其他打开的副本,所以我想这个结果是有意义的。如果他们有Docs风格的协作功能那就太好了。感谢现实调查人员,非常有帮助,让人放心。