在我的 Git 存储库中,我有一个目录 A。在一个分支中,我在 A 下创建了一个目录 B。有没有办法在目录 B 中创建/初始化一个新的 Git 存储库?复制该目录,清除所有 .git 数据,并在新复制的目录中执行 git init 是否可以解决问题?
问问题
61 次
2 回答
1
请注意,您可以拆分 git 存储库,使用 git filter-branch 在其自己的存储库中创建一个子目录。
请参阅“如何将存储库拆分为更小的原子存储库? ”
(和“将子目录分离到单独的 Git 存储库”:
要重写存储库,使其看起来好像
foodir/
是其项目根目录,并丢弃所有其他历史记录:
git filter-branch --subdirectory-filter foodir -- --all
这将允许您保留历史记录,但会重写您的原始存储库之一(这意味着其他贡献者必须将他们的克隆重置为您的新历史记录)。
完成后,您可以在子目录所在的位置克隆该新仓库:父仓库将忽略嵌套仓库。
或者,您可以将该子存储库包含为submodule。
于 2013-05-24T06:22:55.363 回答
1
可能,但您会丢失所有文件历史记录。这不是一个好方法。我认为将整个 repo 克隆到一个新文件夹,然后丢弃你不想使用的文件是一个更好的做法git rm
。
于 2013-05-23T23:49:11.727 回答