2017-04-27 105 views
0

我有一些问题,可能很小的操作,可能或不可能。我认为答案可能会有所不同,但也许是由于我没有很好地提出问题,我没有找到答案。所以这里是:在git repo中保留未跟踪的文件

想象一下,一个简单的git仓库包含一些文件,几乎没有别的提交。 我想要做的是添加一个二进制文件,当它被修改时,git更新文件但没有保留它的任何历史记录。因此,每次文件更改时,Git都会更新实际数据,但否则会认为它未更改。

目标是保持始终最新版本的项目所需的相对较大的二进制文件,但不跟踪它们。 该操作不应该涉及rebase,必须受流行的git主机(如github)支持 编辑:另外目标是能够克隆git repo,运行编译脚本并立即得到结果。所以“将这些文件保存在保管箱中”不是一个解决方案。

这甚至可能吗?我应该在哪里看,Git LFS也许?似乎不是我想要的。感谢您的任何意见。

回答

0

不,这是不可能的。这是因为如果文件在git中添加,git会跟踪更改,所以当你做出任何更改时,git会找到它。

有一些解决方案,您可以参考:

  • 忽略该文件中.gitignore

  • 如果可能的话,将二进制文件转换为普通文件(docx到txt,xlsx到csv等),然后进行版本控制。

  • 提交更改正常,并在一段时间内清除旧版本的二进制文件git filter-branch

+0

我明白了。我知道'git filter-branch',这几乎是我正在使用的,但我希望有一个解决方案对其他git repo用户是透明的,并且在执行操作后不会以任何方式影响它们。 – user2333940

相关问题