1

在我的 Git 存储库中,我有一个目录 A。在一个分支中,我在 A 下创建了一个目录 B。有没有办法在目录 B 中创建/初始化一个新的 Git 存储库?复制该目录,清除所有 .git 数据,并在新复制的目录中执行 git init 是否可以解决问题?

4

2 回答 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 回答