将git跟踪移动到子目录中而不跟踪兄弟姐妹

时间:2012-07-23 12:37:40

标签: git

任何人都可以指导我如何将git目录移动到子目录中吗?

当前目录结构如下:

/bigproject
  --.git
  --partA/
  --partB/

我想这样做:

/bigproject
  --partA/
    --.git
  --partB/

我不关心partB的历史,我会在那里创建一个新的git目录。当我将它移动到partA目录中时,我确实希望保留partA的历史记录。

我将如何做到这一点?本指南试图完成类似但不同的事情:Detach (move) subdirectory into separate Git repository

1 个答案:

答案 0 :(得分:1)

git rm -r partB
git mv partA/* .
git commit

......你已经完成了。

这会保留所有之前的历史记录(您可以使用git filter-branch重写它以删除partB的历史记录以及partA重命名希望)但是使当前的partA目录成为存储库的新顶层。