我的仓库结构是这样的。
现在,我需要使“主”代码与“ dev”完全相同。我猜想,合并将导致保留对“主”的不需要的提交。有帮助吗?
答案 0 :(得分:1)
您可以在master
上将当前分支dev
进行硬重置:
# from master
git checkout master
git reset --hard dev
但是请记住,这可能会丢弃master
上对该分支唯一的任何提交。如果您对此感到担忧,请考虑从master
分支作为安全预防措施。
下次您将master
推到遥控器时,您可能不得不强制推:
git push --force origin master
强制推送的原因是您重写了master
分支的基础,Git将不接受常规推送。
答案 1 :(得分:1)
蒂姆的答案很好,让我们为记录添加这个变体:
# from any branch
git branch -f master dev
关于丢失旧删除分支的内容的警告是相同的,备份很便宜,所以也许考虑一下:
git branch backup_old_master master
git branch -f master dev
然后master
将指向dev
当前指向的完全相同的提交(和历史记录),以防万一。{p}