所以我是Git的新手,所以很多我的术语可能都在这里
这里做正确的'rebase'是正确的吗? - 我不太确定,但听起来不错。基本上我想从myfork到TestHarness fork我的更改,这两个都是Mainline的分支
然后我想回到我的fork的2个版本,所以我回到我开始之前添加测试工具代码
有人可以指出执行此操作需要什么样的git魔法?
答案 0 :(得分:1)
如果我正确理解了这个问题,那么你有4个存储库:
你想在“MyFork”上提交你想要“移动”到“TestHarness”。
首先,您可能想重新考虑处理货叉的方式。您的TestHarness是否因需要新存储库而变大?
如果你确定要继续你的路径,我想我会这样做:
我首先访问您的“TestHarness”存储库并将“MyFork”添加为远程存储库并获取其数据:
git remote add myfork myfork_url
git fetch myfork
然后我会从你的“MyFork”存储库中cherry pick你的两次提交:
git cherry-pick commit_1_hash
git cherry-pick commit_2_hash
现在你应该在你的“TestHarness”分叉上进行两次提交。
返回“MyFork”,然后按如下步骤退回两步:
git reset --hard HEAD~2
请注意,这会在“MyFork”分叉上永久删除您的更改。如果您想保留--hard
,可以将其删除。
如果您想查看存储库的当前状态,请随时尝试
git log --graph --decorate --all