目前我有两个分支:Master和Dev。在上周我将我的工作提交给分支机构Master(分支错误),现在我需要将这些提交更改为DEV分支(右分支),有什么更好的方法可以做到这一点?
我在MAC上使用github桌面
干杯, 圣拉斐尔
答案 0 :(得分:0)
你的问题不清楚。所以我假设您需要旧版本的master,并且需要新版本的Dev。这意味着您需要更改您的git历史记录。如果你已经将这些提交推送到你的遥控器,这不是你应该做的,因为你不想搞乱git历史。
您所做的是cherry-pick
来自master的提交,然后将您的master重置为提交之前。
在此之前,您应备份数据:
git checkout master
git checkout -b backup_master
git checkout DEV
git checkout -b backup_DEV
答案 1 :(得分:0)
我的想法是使用补丁来避免可能的冲突。
git checkout master
git format-patch -1 HEAD (if thats all you want)
git checkout dev
git apply —check file.patch (check it first)
git am < file.patch
将HEAD替换为SHA HASH以获得您想要的最早提交,然后它将为每次提交当前创建* .patch。然后单独以正确的顺序将它们应用于开发。
然后你可以再次检查主服务器,通过检查SHA哈希来更改为你不想要主服务器之前的提交。然后用好消息将其提交回来。我认为可能会这样做。如果我误解了,或者我是公然错误的人,请纠正我。
答案 2 :(得分:0)
如果您已将这些提交推送到遥控器,则无法从MASTER分支中删除提交。
你可以做一件事,将最新的MASTER分支代码提取到DEV Branch。
为此:
备份DEV分支git checkout -b backup_DEV
然后:
git checkout DEV
git stash
git rebase MASTER
git push DEV
git stash pop
现在您可以在DEV中看到该提交。