我有一个名为 add-ivp-solver
的分支,我已将其作为 PR 提交给 GitHub 上的一个项目。该分支有点臃肿,我们现在希望将一些文件从 add-ivp-solver
移到一个名为 add-models
的新分支,该分支将被提交作为 future 的另一个公关。
我想知道是否可以将文件及其关联的提交历史从 add-ivp-solver
移动到 add-models
以允许我们清理 merge add-ivp-solver
到 master
并关闭原始 PR。
我认为 git filter-branch
可能是我需要的。这应该允许我从 add-ivp-solver
删除文件和提交历史到 add-models
,但我担心它会留下 add-ivp -solver
处于“不一致状态”,这将使 merge 和关闭 PR 几乎不可能。
最佳答案
I am concerned that it will leave add-ivp-solver in an "inconsistent state" which will make it nearly impossible to merge and close the PR.
不,它会让那个分支有不同的历史,这意味着:
你需要强制将它推到你的 fork 上
git checkout add-ivp-solver // do your filter-branch git push --force origin add-ivp-solver
PR 将自动调整以考虑新的历史记录(无需执行任何操作)
- 原始 repo 的维护者可以再次测试该 PR 的 merge
关于python - 在不更改 SHA 的情况下将文件和提交历史从一个 git 分支移动到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25504702/