在我的应用程序中,我有一个server.inc文件,其中包含一个switch语句protected void OnPageIndexChanging(object sender, GridViewPageEventArgs e)
{
gridprod.PageIndex = e.NewPageIndex;
gridprod.DataSource = d.Searchprod(lblfield.SelectedValue, txtsearch.Text);
gridprod.DataBind()
}
,用于指定安装该应用程序的服务器。
现在,每当我git push to staging或production时,该文件也会被转移,我手动更新整个集群上的变量。
我知道我可以简单地从git中排除这个文件,但是我不会在版本控制下使用它。
我怎么能克服这个问题?有没有办法从钩子或类似的东西中排除一个secific文件?
提前感谢您提供任何帮助。
答案 0 :(得分:1)
在这种情况下,通常的技术是复制此文件的名称为server.inc.example
或server.inc.template
- 任何使您认为它是文档而不是真实生产文件的文件。之后,您提交server.inc.example
并从存储库中删除原始server.inc
,并将其(server.inc
)添加到.gitignore
。现在,您只需要最后一次浏览群集,并在那里设置具有所需值的server.inc
文件(或设置一些部署钩子,YMMV)。
答案 1 :(得分:0)
不可能从推送中排除单个文件,因为git push适用于提交而不是单个文件。添加/提交文件后,它将被推送。
但是,您可以进行一些解决方法,强制git将文件标记为未更改或根据需要更改。这样你就可以编辑内容,但告诉git不要跟踪更新:
git update-index --assume-unchanged <file>
git update-index --no-assume-unchanged <file>