gpt4 book ai didi

git subtree split - 标签不被转移

转载 作者:太空狗 更新时间:2023-10-29 13:24:32 26 4
gpt4 key购买 nike

我有一个 git 项目,它有一个很大的根目录:

C:\MyProject\MyProject
C:\MyProject\.git

然后所有文件和子目录都在 C:\MyProject\MyProject 中。我想删除那个多余的根目录,所以我使用了这个命令:

git subtree split -P MyProject -b MyBranch
git checkout MyBranch
git branch -D master
git branch -m MyBranch master

这个解决方案有一个问题,但是 - 标签仍然附加到现在已删除的,原始主分支:

enter image description here

灰色分支是原来的master分支,红色分支是没有多余目录的新分支,但是tags仍然附加在旧分支的checkins上。

最佳答案

git filter-branch 可能能够执行您想要的移动并迁移所有分支和其他引用,例如标签。 --subdirectory-filter 将执行类似于您正在创建的子树的操作:

git filter-branch --prune-empty --subdirectory-filter subDirectory -- --all

Check this other answer有关如何为此类操作设置存储库的更多详细信息。

关于git subtree split - 标签不被转移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20980565/

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