【发布时间】:2012-10-09 00:55:03
【问题描述】:
我在多台计算机、我的工作和我的家用电脑上处理网站。源代码保存在 git 存储库下。我使用 Web Deploy 将网站发布到公共服务器上的 IIS。一切正常,我可以从两台计算机上发布并且它工作。
问题是,当我从一台 PC 部署,然后转到另一台 PC,从 git 获取最新更改,进行更多更改,然后再次部署时,它会重新部署整个网站,而不仅仅是已更改的文件- 如果我从本段的第一句中取出“然后转到另一个,从 git 获取最新更改”步骤,会发生什么情况。
我可以做什么,我可以在我的 git 存储库中包含哪些文件(我排除了所有 packages、bin 和 obj 目录),或者我可以执行哪些额外的配置来解决这个问题?
【问题讨论】:
-
当您进行更多更改时,听起来文件上的 git 存档位和/或日期正在重置。检查这些设置,并确保您使用的是最新版本的 git。另外,你是通过代理吗?如果有,是什么类型的? Git 使用 ssl 和一些代理删除证书。
-
看来这就是问题所在。然而,仅仅让 Git 控制文件修改时间(据我所知,如果不使用外部库,这是不可能的)并不够,因为 PC A 和 PC B 甚至可能存在时间差异如果只是几秒钟,就足以将其全部破坏。理想情况下,我想要的是某种外部文件,Web Deploy 使用它来跟踪部署的内容和时间。我还以为以前有这样的文件,可惜现在好像没有了。
-
同步是否成功完成了多主机差异?确保您不在代理后面,然后我建议从每个主机进行简单同步,但无需更改,以确保它不会同步整个存储库。还建议设置小型测试存储库,看看是否可以复制问题。这个同步错误违背了版本控制的本质。令人不安..
-
如果上述说明没有帮助,您使用的是哪个版本的 MS Web Deploy? 2012 年 4 月发布的 v3 修复了iis.net/learn/publish/using-web-deploy/…。
标签: visual-studio git iis-7.5 microsoft-web-deploy