“checkout” a folder and its history into a new repository
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Detach subdirectory into separate Git repository
我想我要的是完全不可能的…但值得问的是:)
我有一个存储库,在那里我保存了代码和二进制文件(比如PSD)。文件夹结构如下(非常简化):
- 吉特项目
- 设计
- 代码
我现在想做的是拆分设计和代码…然后我将把设计转移到Dropbox,在Github上继续保存代码。
所以…我的问题是,我可以启动一个新的以代码为根的Git存储库,并保留该文件夹的提交历史记录吗?
注意:我想去掉Designs文件夹的原因之一是我需要节省空间:)设计在这段时间内变得很大…因此我不想升级我的Github付费计划。
谢谢!
Git过滤分支可以保留历史记录并删除其他所有内容。
1 | $ git filter-branch --subdirectory-filter CODE |
当心这是破坏性的。稍后您可能需要执行以下操作:
1 2 | $ git reflog expire --expire=now $ git gc --prune=now |
您将看到存储库大小的显著减少,只有代码的历史记录和删除所有那些不可访问的对象。
为什么不做一个删除
例如(来自
1 2 3 4 | git rm -r DESIGNS # assumes you've saved DESIGNS somewhere git mv 'CODE/*' . git commit -m"Removed DESIGNS, moved code to the top level" |
如果您真的想将