git - 我怎样才能让 GIT 中的两个不相关的分支有一个共同的根?
问题描述
我最近将我的 SVN 存储库迁移到了 GIT。SVN 存储库有 2 个具有相同提交历史的分支。现在在 GIT 中,我想让这两个带有平行图的分支有一个共同的根。我该怎么做?将一个分支重定位于另一个分支是行不通的。
$ git checkout BRANCH_1
$ git rebase BRANCH_2
这给了我一个无关历史的错误。
$ git rebase BRANCH_2 --allow-unrelated-histories
没有在他们应该的提交中加入两个分支。
解决方案
以下为我工作..
假设,这两个分支是 BRANCH_1 BRANCH_2
$ git checkout BRANCH_1
我从需要公共根目录的地方签出了提交
$ git checkout e405d8d172dfa017a3fea17ce111dff280412a3c
然后我从当前提交创建了一个新分支并检查了它
$ git branch NEW_BRANCH
$ git checkout branches/release/0.0.1
然后我从 BRANCH_2 中挑选了我想要的提交
$ git cherry-pick 47c661bfb8cbf79017bff53fedbbd7db13cf68bf
$ git push --set-upstream origin NEW_BRANCH
$ git branch -D BRANCH_2
注意:我可以删除 BRANCH_2 因为两个分支的历史记录相同。IE
$ git diff 47c661bfb8cbf79017bff53fedbbd7db13cf68bf e405d8d172dfa017a3fea17ce111dff280412a3c
返回空
推荐阅读
- javascript - AJAX 表单提交问题
- psql - 遇到 PSQL 自动小写执行查询的问题
- benchmarking - STREAM 内存带宽基准测试真正衡量的是什么?
- javascript - 如何更改文本区域中文本的颜色
- react-native - 如何将令牌设置为 onError ApolloClient?
- html - 如何使用css将图标颜色更改为点击联系人form7的焦点
- rust - 如何在没有无用分配的情况下实现 Cons 列表前置?
- android - 如何更有效地使用 RunApp 功能来更改页面
- c# - “如何修复 PlayerPrefs 不保存或加载保存的数据”
- performance - 离散 GPU 可减少内存争用并提高 CPU 性能