我最近接受了一份新工作,工作内容之一是维护组织的 Umbraco 网站。该网站不受源代码控制,也没有测试环境。在没有备份的情况下对生产系统进行了更改。
我的第一步是使用 Mercurial 进行源代码控制,这样我就可以快速撤销破坏性的更改。我通过创建一个本地文件夹、将网页数据复制到其中并运行 hg commit 来实现这一点。
我想使用 Robocopy /mir 选项来拾取删除以及更改和添加。我的问题是 /mir 选项会删除它在源中找不到的每个文件夹,而我的 .hg 文件夹不在源中。
除了在 robocopy 执行之前将 .hg 文件夹从目标文件夹中复制出来之外,还有其他方法可以排除 .hg 文件夹不被删除吗?我看到了几个关于 Robocopy 排除功能的引用,但它们似乎仅适用于源文件夹,而不适用于讨厌的文件夹。
网络服务器和本地机器都是 Windows 机器,我对它们都没有管理权限。
答案1
虽然我没有使用 Mercurial,但我在使用 Git 时也遇到了类似的问题。我通过在提交脚本中为 git 存储库指定外部目录来解决了这个问题。效果很好。