在另一个git存储库的父文件夹中创建git存储库并删除子存储库,但将其历史记录集成到父存储库中

sto*_*ild 11 git repository

我有以下文件夹结构:

foo/
foo/bar
foo/baz
foo/bee
Run Code Online (Sandbox Code Playgroud)

我在foo/bar/.git上创建了一个git存储库.

后来我意识到我需要在foo存储库中包含foo中的所有其他目录,所以我在foo/.git上创建了一个git存储库.

foo/.git
foo/bar/.git
foo/baz
foo/bee
Run Code Online (Sandbox Code Playgroud)

我可以删除foo/bar/.git但我希望能够保留git存储库的历史记录,但是在foo/.git中而不是foo/bar/.git.

我试图阅读子模块,但如果我理解正确,它是一种将现有存储库的版本集成为您自己的存储库的子树的方法.

我不完全确定这是我需要的.我不需要保持foo/bar/.git.我希望foo/.git成为我的主存储库.我只是想知道是否有办法在foo/.git中保存或整合foo/bar/.git的历史记录,这样我就可以删除foo/bar/.git.

CB *_*ley 9

为什么不创建一个bar目录foo/bar,git mv万事成foo/bar/bar,然后移动(不涉及GIT)foo/bar/.git.git和内容foo/bar/barfoo/bar最终除去现在空foo/bar/bar的子文件夹.

然后,您可以将其余的子目录添加到现在的git存储库中foo.


dbr*_*dbr 5

您正在寻找子树合并

Github的帮助有一个很好的指导,有一个关于这个的Pro Git章节,与Git社区的书一样