Github 上怎么删除一个文件的版本控制信息,只保留最新文件?

2015-07-04 00:16:59 +08:00
 kaedea

现在·Github·上有一个Repo已经快超过1G的体积了,但是其实项目本身并不大,主要是由于有些大图片多次修改,所以GIT保留的这些图片的历史记录文件非常大,但是我这些图片又不需要历史记录信息,请问:
1、怎么删除这些文件的版本控制信息,只保留最新文件?
2、在一开始创建新文件的时候,能不能设置改文件不参与版本控制,但是又能push到远程?

7025 次点击
所在节点    GitHub
11 条回复
Septembers
2015-07-04 00:34:38 +08:00
美术资源单独一个仓库比较好吧?适当的版本管理还是需要的
Septembers
2015-07-04 00:34:59 +08:00
再通过git submodule引入
ledzep2
2015-07-04 00:40:44 +08:00
我的感觉是 你根本不是需要github, 你需要dropbox.
Daniel65536
2015-07-04 00:44:01 +08:00
rm -rf .git
git init
git add -A
git commit
git push -f
Sinute
2015-07-04 00:49:33 +08:00
可以参考git pro移除对象那章

当你将 Subversion 或 Perforce 仓库转换导入至 Git 时这会成为一个很严重的问题。在此类系统中,(签出时) 不会下载整个仓库历史,所以这种情形不大会有不良后果。如果你从其他系统导入了一个仓库,或是发觉一个仓库的尺寸远超出预计,可以用下面的方法找到并移除大 (尺寸) 对象。
警告:此方法会破坏提交历史。为了移除对一个大文件的引用,从最早包含该引用的 tree 对象开始之后的所有 commit 对象都会被重写。如果在刚导入一个仓库并在其他人在此基础上开始工作之前这么做,那没有什么问题 ── 否则你不得不通知所有协作者 (贡献者) 去衍合你新修改的 commit 。

虽然不算一种常规的使用方法不过应该符合你目前的需求
catface
2015-07-04 00:50:15 +08:00
@Daniel65536 哈哈,干脆利落
xiaogui
2015-07-04 01:34:13 +08:00
感觉你正好该需要这个了
https://git-lfs.github.com/
582033
2015-07-04 01:35:02 +08:00
删掉.git目录
582033
2015-07-04 01:35:53 +08:00
2: 加入.gitignore
kaedea
2015-07-05 13:13:53 +08:00
@xiaogui bingo
kaedea
2015-07-06 18:21:18 +08:00
这个问题换另一种描述就是:使用SVN或者GIT,当repo太大的时候,如何瘦身(可以删除不必要的历史记录)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/203208

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX