我的主副本在2年前检查过以前的文件。我的开发部门是最新的。所以我想用开发分支更新我的主分支。
我试过了 git checkout master git merge -X他们的开发
但它给出了一个错误“我们无法合并的东西”
在Git网站上,当我尝试创建一个新的拉取请求时,它显示如下“没有什么可比较的。 master和master-clean是完全不同的提交历史。“
您的意思是Origin / Development吗?
答案 0 :(得分:4)
因此,收集所有评论和OP的信息,你就是这种情况:
master
分支和一个当前development
分支。我们称这个存储库为origin
。master
并将其替换为development
分支。origin
保持同步,即您最近在development
内提交了所有更改的内容。所以我建议这个程序:
git checkout development ; git pull # just in case
git branch master development -f
git checkout master
git push origin master -f
这将:
development
分支与远程分支同步,以防万一。在此操作之后,它们应该完全相同。 git status
应该清楚地告诉你。master
设置为在本地指向与development
相同的提交。master
推到遥控器,覆盖之前的任何内容。在此之后,development
,master
,origin/development
,origin/master
都指向相同的提交,这是您development
之前的任何提交。
答案 1 :(得分:0)
您可以完全删除主分支:git branch -D master
然后从您的开发分支重新创建它:git checkout -b master development
答案 2 :(得分:0)
抛出当前的master并使用dev分支?
git push origin dev:master --force
这将使用开发分支覆盖远程控制器上的主分支...
为什么你会这样做 - 这会破坏在代码库中工作的其他人。