我已经阅读了git存储库之间移动目录上的几个线程,而我使用的一个是this one,它使用了git subtree
。 / p>
按照步骤操作,一切似乎都很好,但问题最终就出现了。
我剩下一个新的仓库,我想移动的目录的所有内容都在根目录中。如果我将内容的git mv
放入所需的子目录中,则当我执行git log -- sub\dir\1
时,无法从此处查看历史记录。历史仅从根目录可见。
我计划以这种方式移动多个目录,因此这会造成一些麻烦,因为现在我必须在查询历史记录的每个文件上使用git log --follow
。
还有其他方法,或者我做错了什么,以便可以将历史记录保留在正确的子目录下?如果有帮助,我在新存储库中想要的文件夹结构实际上与旧存储库中的文件夹结构相同(嗯,至少在git subtree
命令之前)。
为了明确起见,这就是我的开始:
\old-repo
\sub\dir\1
\sub\dir\2
\sub\dir\3
这是我现在的位置:
\new-repo (subdir1 history viewable from here)
\sub\dir\1 (subdir1 history is NOT viewable, besides the most recent git mv)
这是我真正想要的:
\new-repo
\sub\dir\1 (subdir1 history viewable from here)
\sub\dir\2 (subdir2 history viewable from here)
\sub\dir\3 (subdir3 history viewable from here)