【发布时间】:2015-10-29 20:50:00
【问题描述】:
我有一个 repo personal_stuff.git,我曾经用它来存储一大堆早期可能不完全的项目。
它们中的一个不时起飞,我必须将一个子文件夹从 personal_stuff/coolnewthing 拆分到它自己的 coolnewthing.git 存储库中。
为此,我使用
git subtree split -P personal_stuff/coolnewthing -b coolnewthing
然后通过以下方式从另一个新的 git 目录中拉出新分支:
git pull ../../../../personal_stuff coolnewthing
这很好用,但在我的历史记录中,所有这些提交都与不再存在的文件相关。
如何过滤掉这些并仅保留与我仍然拥有的文件相关的提交?
【问题讨论】:
-
你可以使用“git rebase -i”
-
不确定我是否理解文档,但我没有将功能分支添加到主要分支 - 我正在做相反的事情。这仍然适用吗?
-
切换到新分支执行 git rebase -i HEAD~
并使用交互式 rebase 菜单。 @joran 给出的解决方案似乎很好用。 -
我应该补充一点,这不再是一个新分支,它是一个全新的 repo - 只是从以前的 repo 中提交了它曾经是它的一部分
-
没关系,它仍然可以工作,但请尝试 git rebase -i 这是一个很棒的工具 :)
标签: git bitbucket git-commit git-subtree