git合并分支覆盖目标
我的存储库有一个git合并分支覆盖目标,git,branching-and-merging,git-merge,Git,Branching And Merging,Git Merge,我的存储库有一个主库和dev分支 此时,我希望将
主库
和dev
分支
此时,我希望将
与
合并,或者更好,不是合并,而是将
分支的内容全部替换为dev
有可能吗?您将如何使用git命令执行此操作?这是一种“合并”策略和“他们的”策略,这是一种
但您可以通过数字模拟它,如“”
我喜欢的是通过创建一个额外的分支:
git checkout dev
git checkout -b tmp
git merge -s ours master # ignoring all changes from master
git checkout master
git merge tmp # fast-forward master to tmp HEAD
git branch -D tmp
这是一个“合并”与“他们的”战略,这是
但您可以通过数字模拟它,如“”
我喜欢的是通过创建一个额外的分支:
git checkout dev
git checkout -b tmp
git merge -s ours master # ignoring all changes from master
git checkout master
git merge tmp # fast-forward master to tmp HEAD
git branch -D tmp
假设您从
master
…开始,后来创建了一个dev
分支(从master
HEAD
或master
之前的某个提交)。您还可以执行以下操作
# find common ancestor
git merge-base master dev
# This will give you SHA-1 of ancestor like this: `4de51ba41fba357ac9ce63f098451cd1fc2dacbe`
# A hard reset master to this commit
git checkout master
git reset --hard 4de51ba41f
git rebase master dev
# After successful completion you will find yourself checked out on `dev`
# checkout master again and merge dev to get your final result
git checkout master
git merge dev
# Now your master will be same as dev
假设您从
master
…开始,后来创建了一个dev
分支(从master
HEAD
或master
之前的某个提交)。您还可以执行以下操作
# find common ancestor
git merge-base master dev
# This will give you SHA-1 of ancestor like this: `4de51ba41fba357ac9ce63f098451cd1fc2dacbe`
# A hard reset master to this commit
git checkout master
git reset --hard 4de51ba41f
git rebase master dev
# After successful completion you will find yourself checked out on `dev`
# checkout master again and merge dev to get your final result
git checkout master
git merge dev
# Now your master will be same as dev
谢谢,我需要从我的开发分支开始做这个,对吗?@ghiboz是的。我已经编辑了答案。在克隆上进行测试。谢谢,我需要从我的开发分支开始进行测试,对吗?@ghiboz是的。我已经编辑了答案。在克隆人身上进行测试。很抱歉投了反对票,也很抱歉有两票将该问题作为离题题结束。别担心:这完全是一个关于堆栈溢出的话题。很抱歉投了反对票,也很抱歉投了两票,两票都认为这个问题是离题的。别担心:这完全是关于堆栈溢出的主题。