git - 来自现有 repo 中选定文件的新 git repo

标签 git

我有一个在 git 控制下的项目,其中代码被组织到项目不同部分的子目录中。现在我认为一个特定的子目录的内容最好是一个完全不同的项目。是否可以从该项目中挑选文件(或者只说文件夹)并使用这些项目创建一个新的 git 存储库,同时保留所有现有的提交历史记录?

我知道更简单的选择是将整个项目复制到一个新项目中并删除我不需要的所有文件和目录并将其作为新提交输入。但我想知道 git 是否有自己的东西来做这件事。

最佳答案

您可以使用 git filter-branch为了提取一个子文件夹作为它自己的仓库。
见:

一旦您为该子文件夹创建了一个新的存储库,您就可以使用 git submodules 在您的原始存储库中引用它。 .

关于git - 来自现有 repo 中选定文件的新 git repo ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26901138/

相关文章:

git - 在 GIT 中 merge 来自父分支的更改

ruby - 连接拒绝来自 Ruby 的 Git

gitignore 不忽略特定的 bin 文件夹

git - 我如何 fork 旧版本的 github 项目?

git - 如何在不同分支上重新调整最后 x 提交?

Git 在 checkout 时更改了我的文件权限

git - 如何撤消上次提交

git - 在没有 refspec 参数的情况下运行 git push、pull 和 fetch

git - 在 Visual Studio Code 上使用 <git push>,但显示 "Could not read from remote repository."

git - 在特定起点创建分支但保留相同的远程跟踪分支