gpt4 book ai didi

git - `git filter-branch --subdirectory-filter` 的反义词是什么?

转载 作者:太空狗 更新时间:2023-10-29 13:18:11 25 4
gpt4 key购买 nike

使用 git filter-branch --subdirectory-filter,您可以将子目录从当前存储库转换为自己的存储库。然而,我想做的是相反的事情:创建一个将包含当前存储库的全部内容作为子目录的存储库,保留完整的历史记录,就好像它们总是在该子目录中一样。我不想使用子模块,因为我希望该目录成为存储库的完整组成部分。


背景:我的任务是编写一个简单的脚本,但任务范围已经扩大,所以现在该脚本只是一个更大项目中的一个子目录。它也没有独立存在的意义,因此首选没有子模块的解决方案。

最佳答案

最简单的解决方案是不理会历史:只需将所有文件git mv 放入一个子目录中,提交更改,然后继续您的生活。

如果你真的想假装你一直在子目录中完成这项工作,最简单的方法是使用类似的东西:

git filter-branch --tree-filter "mkdir SUBDIR && bash -c 'git mv -k {,.[!.],..[!.]}* SUBDIR/'"

将 SUBDIR 替换为目标子目录的名称。

关于git - `git filter-branch --subdirectory-filter` 的反义词是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13337877/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com