最佳答案
假设我有一个包含这个目录结构的回购:
repo/
blog/
_posts/
some-post.html
another-file.txt
我想把 _posts
移到回购协议的顶层,所以结构应该是这样的:
repo/
_posts/
some-post.html
another-file.txt
这是足够简单的 git mv
,但我想让历史看起来好像 _posts
一直都是存在的根回购,我想能够得到整个历史的 some-post.html
通过 git log -- _posts/some-post.html
。我想我可以使用一些魔法与 git filter-branch
来完成这一点,但我还没有找到确切的方法如何做到这一点。有什么想法吗?