我有一个.NET C#存储库.包括一个二进制可执行文件,它基于同一存储库中的许多定期更新的SQL脚本构建数据库.当然,使用.gitignore会忽略bin文件夹.
但是,我有一些非开发人员用户需要定期更新此文件.理想情况下,我想做的是在他们的机器上放一个简单的批处理脚本,执行git pull并接收新的二进制文件.但是,我真的不想跟踪此文件的历史记录,并使用不必要的数据阻塞我的存储库.
是否可以提交文件而不保留该文件的历史记录?因此,每次提交文件时,它只是替换存储库中存储的对象,而不是创建该对象的新版本.
如果没有,你们中的任何人都有这方面的任何非常简单的解决方案.该文件只是一个由5或6名工作人员使用的内部实用程序,因此任何类型的黑客解决方案都可以.
解决方法
您可以在单独的孤立分支(git checkout –orphan NEWBRANCH)上维护该文件,并在那里提交您的文件.
当您需要替换文件时,使用–amend提交它,然后强制推送该分支.
这将覆盖先前的提交,因此您将在任何给定时间只对该文件进行单个修订.在客户端,您可以通过使用文件签出分支或使用git show branch:file>来获取文件的内容.文件