目前在我工作的地方,我们有以下设置(用于 ASP.NET Web 开发),使用 Git 进行版本控制(我们相对较新):
“开发”服务器是运行 IIS 的远程服务器,可在我们的内部网络上访问。这是我们部署稳定的开发网站构建的地方,因此它们在我们公司内都是可见的。在这台服务器上,我们为每个项目(通常是一个网站)创建一个 Git 存储库。
然后,开发人员会将这个存储库拉到他们的本地机器上并在本地处理它,在本地提交任何更改,然后最终将这些更改推送到远程存储库(开发服务器),并在其中将它们合并到主分支中。
我们遇到的问题是,当源代码内置到程序集 (DLL) 中时,它们会被添加到本地 Git 存储库中,将其与不应该存在的二进制文件混在一起(因为它们可以从源代码派生)。但是,如果我们不包含 DLL(即,将它们放在 .gitignore 中),那么当我们将更改推送到远程存储库时,/bin 文件夹中的 DLL 将丢失,并且该站点将无法工作。解决此问题的唯一方法是在推送更改后在开发服务器上重建站点。
有没有办法解决?理想情况下,我们需要一种方法来忽略本地存储库中的 DLL,但仍将它们“推送”到远程服务器?或者在推送更改时以某种方式触发远程服务器上的构建?