将Git存储库移动到子文件夹

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将Git存储库移动到子文件夹相关的知识,希望对你有一定的参考价值。

我在我的Wordpress网站上使用Github。

目前它跟踪父Wordpress文件夹,它实质上跟踪所有内容。

enter image description here

我希望它只有一个只有主题的git,位于wp-content/themes/lighthouse

有没有一种简单的方法让这个存储库只是主题而不是Wordpress中的所有内容?无需创建新的存储库?

答案

如果你真的不想创建一个新的仓库,你只需删除其他文件夹,然后将新的(修剪过的)提交推回到现有的仓库。 请注意,您将保留过去提交中的其他文件夹历史记录。

Detach (move) subdirectory into separate Git repository”中提到的技术实际上会创建一个新的回购(一个历史记录只涉及您要保留的文件夹)

另一答案

要将git repo移动到子文件夹wp-content/themes/lighthouse,同时保留子文件夹的历史记录,可以参考以下步骤:

git clone <repo URL>
cd reponame
# checkout all the remote branches locally by git checkout branchname
git filter-branch --subdirectory-filter wp-content/themes/lighthouse -- --all
git push -f --all

现在git repo移动到子文件夹wp-content / themes / lighthouse并保留相关历史记录

以上是关于将Git存储库移动到子文件夹的主要内容,如果未能解决你的问题,请参考以下文章

根据扩展名将git repo文件移动到子文件夹

在 git 存储库中移动大量大文件

将Git存储库内容移动到保留历史记录的另一个存储库

将 git 存储库移动到 nfs 会导致权限错误

如何将文件从一个文件夹移动到同一git存储库中的另一个文件夹保留历史记录[重复]

有啥方法可以将所有 git 分支变成存储库的文件夹?