如何Git推送到登台服务器并排除一个文件

时间:2015-09-12 22:24:37

标签: git

在我的应用程序中,我有一个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文件?

提前感谢您提供任何帮助。

2 个答案:

答案 0 :(得分:1)

在这种情况下,通常的技术是复制此文件的名称为server.inc.exampleserver.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>