c# – Git提交并推送二进制文件,但不保留历史记录

我有一个.NET C#存储库.包括一个二进制可执行文件,它基于同一存储库中的许多定期更新的sql脚本构建数据库.当然,使用.gitignore会忽略bin文件夹.

但是,我有一些非开发人员用户需要定期更新此文件.理想情况下,我想做的是在他们的机器上放一个简单的批处理脚本,执行git pull并接收新的二进制文件.但是,我真的不想跟踪此文件的历史记录,并使用不必要的数据阻塞我的存储库.

是否可以提交文件而不保留该文件的历史记录?因此,每次提交文件时,它只是替换存储库中存储的对象,而不是创建该对象的新版本.

如果没有,你们中的任何人都有这方面的任何非常简单的解决方案.该文件只是一个由5或6名工作人员使用的内部实用程序,因此任何类型的黑客解决方案都可以.

解决方法

您可以在单独的孤立分支(git checkout –orphan NEWBRANCH)上维护该文件,并在那里提交您的文件.

当您需要替换文件时,使用–amend提交它,然后强制推送该分支.

这将覆盖先前的提交,因此您将在任何给定时间只对该文件进行单个修订.在客户端,您可以通过使用文件签出分支或使用git show branch:file>来获取文件内容.文件

相关文章

在项目中使用SharpZipLib压缩文件夹的时候,遇到如果目录较深,则压缩包中的文件夹同样比较深的问题。比...
项目需要,几十万张照片需要计算出每个照片的特征值(调用C++编写的DLL)。 业务流程:选择照片...
var array = new byte[4]; var i = Encoding.UTF8.GetBytes(100.ToString("x2"));//...
其实很简单,因为Combox的Item是一个K/V的object,那么就可以把它的items转换成IEnumerable<Dic...
把.net4.6安装包打包进安装程序。 关键脚本如下: 头部引用字符串对比库 !include "WordFunc....
项目需求(Winform)可以批量打印某个模板,经过百度和摸索,使用iTextSharp+ZXing.NetʿreeSp...