将特定文件(图像)添加到git而不进行版本控制

6

目前我在存储图片方面遇到了一个困境:

  • 我的项目刚刚开始。
  • 在最初的几个开发迭代中,我认为在GUI方面会有很多变更请求,特别是图片和图标。

只有当请求非常少时,我才希望将它们检入。因此,我不喜欢我的git仓库混杂着图片,因为我有几兆字节大小的图片。

目前,我所做的是将除二进制、目标文件和图片以外的所有内容都包括在我的git repo中。然后,每周,我都会对所有文件进行完整的zip备份。

我想问的是,是否有办法在git中放置文件而不进行版本控制?

我知道这违背了git的目的,但通过这种方式可以控制git repo的大小。

举个例子:

  • 我有pic1.jpg,我想把它放到git里。
  • 如果我将pic1.jpg替换为另一张具有相同文件名的图像,则它将仅覆盖pic1.jpg,并且不执行版本备份。
    这样,git repo的大小将显著增加。

这听起来可能很危险,但我从git中学到的是,如果您将文件提交到其中,它将永远留在那里。

我想到了另一个解决方案:将项目完全压缩并放入Dropbox中,新加入项目的开发人员可以从Dropbox中获取它,然后提取、进行git fetch,再合并。

我希望有人能分享他们的经验/专业知识。


4
也许可以看一下 git-annex - Ajedi32
https://dev59.com/2Ggv5IYBdhLWcg3wYvuh - sfletche
1个回答

4

如果有一种方法可以将文件放入Git而不进行版本控制

唯一提出这个想法的是git-annex(不适用于Windows)

我在“使用二进制文件设置Git存储库”中提到了另一个工具“bup”,它实际上将数据存储在与Git兼容的存储库中。

但是,如果您不打算经常返回并重建项目的旧版本,则将这些资源(大图片)放入Git存储库并不是非常有用,而git-annex可以帮助处理该状态。

请注意,通过Dropbox的Git存储库并不总是安全的(请参见“Git与Dropbox问题”)。


非常感谢。我们目前正在使用Windows,并且非常倾向于使用TortoiseGit。我会看一下这个的。谢谢。 - newbie programmerz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接