我正在尝试实施Git来管理创意资产(Photoshop,Illustrator,Maya等),我想根据文件大小而不是扩展名,位置等从Git中排除文件.
例如,我不想排除所有.avi文件,但在随机目录中有一些大量的+ 1GB avi文件,我不想提交.
有什么建议?
我目前正在考虑将我的VCS(从subversion)更改为git.是否可以在git存储库中的提交中限制文件大小?对于例如颠覆,有一个钩子:http://www.davidgrant.ca/limit_size_of_subversion_commits_with_this_hook
根据我的经验,人们,特别是那些没有经验的人,有时会倾向于提交不应该进入VCS的文件(例如大文件系统图像).
以前,我在本地使用git而不使用.gitignore
Afterwards,我创建了一个.gitignore文件,并在其中写入所有不必要的文件.当我把它们推到git repo时,致命:远程端挂断意外错误出现.
我不想推送忽略文件,但是,不知何故,git试图将它们推送到repo.
请帮帮我,我的错是什么?谢谢
我们最近开始使用git,当有人提交了一个大的(~1.5GB文件),然后导致git在各种32位操作系统上崩溃时出现了一个令人讨厌的问题.这似乎是一个已知的错误(git mmaps文件到内存中,如果它无法获得足够的空间,它就无法工作),这不会很快得到修复.
简单(对我们而言)的解决方案是让git拒绝任何大于100MB左右的提交,但我无法想办法做到这一点.
编辑:问题来自意外提交大文件,在这种情况下是一个大的程序输出转储.目的是避免意外提交,只是因为如果开发人员意外地提交了一个大文件,然后尝试将其恢复到存储库是一个下午,没有人可以做任何工作,并且必须修复所有本地分支他们有.
我们要防止:
git而不是git-lfs,因为它们会增加 git 历史记录。鉴于:
问题:
git add一个大文件并且它没有被处理时看到警告消息git-lfs?(我们的环境是macOS。我看了很多解决方案,目前没有一个能满足我们的需求)
我正在使用git来管理一个非编码项目文件夹,该文件夹中散布着一些大型文件.
我没有兴趣移动文件,因为它们不是我的,但我知道git存在非常大的文件问题(用Linus的话来说,"我们很糟糕")并且我想尽可能地避免这些性能问题如我所能.所以我在这里,只是跑去git init打算进入,git add -A但在我做之前就停止了.
我想尝试添加一个标志git add,只选择某些文件.我不想基于扩展而受到偏见,只是基于大小.可以add或我的.gitignore档案那样做吗?
有人建议我使用 BFG Repo-Cleaner 作为我想要推送的本地存储库,其中包含的文件太大而无法推送到 GitHub。这些文件(大约 50MB 以上)我不介意它们是否被删除,而且我不久前不小心提交了它们。
关于在线说明: https: //rtyley.github.io/bfg-repo-cleaner/
它建议我应该使用 --mirror 标志克隆我的存储库的新副本(这似乎是在线版本,而不是本地版本)。然后执行 Java -jar bfg.jar ... 命令。然后将其cd回在线存储库的本地镜像副本,然后将信息推送回来。
我不太明白这如何适用于本地副本。对于太大而无法推送的本地副本,我应该这样做:
git clone --mirror /Users/me/myrepo
java -jar bfg.jar --strip-blobs-bigger-than 100M /Users/me/myrepomirror.git
然后我也不明白接下来的步骤如何:
cd /Users/me/myrepomirror.git git reflog expire --expire=now --all && git gc --prune=now --aggressive git Push
将解决与我的非镜像本地存储库有关的任何问题:
/用户/我/myrepo
我不确定他们是否暗示我应该在这之后做:
java -jar bfg.jar --strip-blobs-bigger-than 50M my-repo.git
我再次不知道这如何解决我想要修剪的实际存储库(不是镜像或在线版本),以便我可以推送它。
也许我有点迟钝?对于可能有用的东西,该文档似乎不是很明确/广泛。这里的任何帮助都会很棒。谢谢!