【发布时间】:2012-03-02 17:50:53
【问题描述】:
基本问题:如何将 git repo 与其克隆的来源解除关联?
git branch -a 显示:
* master
remotes/origin/HEAD -> origin/master
我想删除所有原始知识以及相关的修订。
更长的问题:我想利用现有的颠覆回购并从中制作一些较小的 git 回购。每个新的 git 存储库都应该只包含相关分支的完整历史记录。我可以使用以下命令将 repo 修剪为所需的子树:
git filter-branch --subdirectory-filter path/to/subtree HEAD
但生成的 repo 仍然包含 origin/master 分支下现在丢弃的子树的所有修订。
我意识到我可以首先使用 git-svn 的 -T 标志来克隆 subversion repo 的相关子树。我不确定这是否比以后在 git repo 的副本上运行多个 git filter-branch --subdirectory-filter 实例更有效,但无论如何,我仍然想断开与源的链接。
【问题讨论】: