相关疑难解决方法(0)

gitignore按文件大小?

我正在尝试实施Git来管理创意资产(Photoshop,Illustrator,Maya等),我想根据文件大小而不是扩展名,位置等从Git中排除文件.

例如,我不想排除所有.avi文件,但在随机目录中有一些大量的+ 1GB avi文件,我不想提交.

有什么建议?

git configuration blob gitignore large-files

45
推荐指数
6
解决办法
1万
查看次数

限制git存储库中的文件大小

我目前正在考虑将我的VCS(从subversion)更改为git.是否可以在git存储库中的提交中限制文件大小?对于例如颠覆,有一个钩子:http://www.davidgrant.ca/limit_size_of_subversion_commits_with_this_hook

根据我的经验,人们,特别是那些没有经验的人,有时会倾向于提交不应该进入VCS的文件(例如大文件系统图像).

git version-control

28
推荐指数
3
解决办法
9978
查看次数

如何忽略大文件并推送到git repo

以前,我在本地使用git而不使用.gitignore Afterwards,我创建了一个.gitignore文件,并在其中写入所有不必要的文件.当我把它们推到git repo时,致命:远程端挂断意外错误出现.

我不想推送忽略文件,但是,不知何故,git试图将它们推送到repo.

请帮帮我,我的错是什么?谢谢

git github

9
推荐指数
1
解决办法
6606
查看次数

拒绝git中的大文件

我们最近开始使用git,当有人提交了一个大的(~1.5GB文件),然后导致git在各种32位操作系统上崩溃时出现了一个令人讨厌的问题.这似乎是一个已知的错误(git mmaps文件到内存中,如果它无法获得足够的空间,它就无法工作),这不会很快得到修复.

简单(对我们而言)的解决方案是让git拒绝任何大于100MB左右的提交,但我无法想办法做到这一点.

编辑:问题来自意外提交大文件,在这种情况下是一个大的程序输出转储.目的是避免意外提交,只是因为如果开发人员意外地提交了一个大文件,然后尝试将其恢复到存储库是一个下午,没有人可以做任何工作,并且必须修复所有本地分支他们有.

git large-files

7
推荐指数
1
解决办法
2529
查看次数

防止在使用 GitHub 时将大文本文件添加到提交

我们要防止:

  • 非常大的文本文件(每个文件 > 50MB)不会被提交到git而不是git-lfs,因为它们会增加 git 历史记录。
  • 问题是,其中 99% 小于 1MB,应该提交以获得更好的差异。
  • 大小不同的原因:这些是 YAML 文件,它们支持通过 base64 编码进行二进制序列化。
  • 我们不能可靠地防止二进制序列化的原因:这是一个 Unity 项目,由于各种原因需要二进制序列化。

鉴于:

  • GitHub 托管缺乏预接收钩子支持。
  • git-lfs 缺少文件大小属性支持。

问题:

  1. 我们如何可靠地防止将大文件添加到提交中?
  2. 这可以通过 repo 中的配置文件来完成,以便所有用户都能优雅地遵循此规则吗?
  3. 如果没有,这是否可以通过 bash 命令别名来完成,以便受信任的用户可以在他们不小心看到git add一个大文件并且它没有被处理时看到警告消息git-lfs

(我们的环境是macOS。我看了很多解决方案,目前没有一个能满足我们的需求)

git bash github unity-game-engine git-lfs

5
推荐指数
2
解决办法
2436
查看次数

Git - 添加小于X兆字节的所有文件

我正在使用git来管理一个非编码项目文件夹,该文件夹中散布着一些大型文件.

我没有兴趣移动文件,因为它们不是我的,但我知道git存在非常大的文件问题(用Linus的话来说,"我们很糟糕")并且我想尽可能地避免这些性能问题如我所能.所以我在这里,只是跑去git init打算进入,git add -A但在我做之前就停止了.

我想尝试添加一个标志git add,只选择某些文件.我不想基于扩展而受到偏见,只是基于大小.可以add或我的.gitignore档案那样做吗?

git

3
推荐指数
2
解决办法
642
查看次数

如何使用 BFG Repo-Cleaner

有人建议我使用 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

我再次不知道这如何解决我想要修剪的实际存储库(不是镜像或在线版本),以便我可以推送它。

也许我有点迟钝?对于可能有用的东西,该文档似乎不是很明确/广泛。这里的任何帮助都会很棒。谢谢!

java git github bfg-repo-cleaner

3
推荐指数
1
解决办法
2514
查看次数

如何从所有未推送的 Git 提交中删除大于某个给定大小的所有文件?

如何从所有未推送的 Git 提交中删除所有大于 X MB 的文件?

git

1
推荐指数
1
解决办法
725
查看次数