gpt4 book ai didi

git - 根目录中的新 git 存储库以包含子目录中的现有存储库

转载 作者:太空狗 更新时间:2023-10-29 14:21:14 27 4
gpt4 key购买 nike

我正在处理目前不受任何修订控制(是的,真的)的大型代码库。我一直在一个深层目录中处理一个组件,并创建了一个隐蔽的 git 存储库来跟踪我的更改。我现在想将所有代码添加到源代码管理并为整个目录树创建一个存储库。我希望新的外部存储库包含内部存储库中文件的所有历史记录。我不想要单独的项目或子模块;我想让存储库从一开始就在代码树的根目录中创建,而内部存储库从未存在过。我想删除子目录中的 .git 目录,但不想丢失它包含的修订历史记录。

我读到的关于该主题的所有内容都是关于 merge 现有存储库的,这里不是这种情况,也不是关于维护子模块或远程项目的,我不想要这些。

谢谢。

最佳答案

假设您的组件位于 /project-root/deep/path/to/component 中。以下命令将执行您想要的操作:

cd /project-root/deep/path/to/component
git filter-branch --tree-filter 'mkdir -p deep/path/to/component; git mv file1 file2 file2 deep/path/to/component' HEAD
rm -rf deep
mv .git /project-root
git reset --hard

当然,您必须像往常一样为项目的其余部分添加文件。

关于git - 根目录中的新 git 存储库以包含子目录中的现有存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7193507/

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