Git接受请求请求中的所有更改

时间:2018-10-02 20:28:53

标签: git

我有一个刚刚改写的项目,它完全改变了应用程序的文件结构,并升级了其中的许多部分。我不再关心master分支中的内容;我希望我创建的PR用version-2分支中的master替换master中的所有内容。我只是不确定要使用什么命令。

我在GitHub上创建了PR,但是它无法自动(显然)为我合并,但是在version-2分支上运行-Width也不起作用,因为我无法确切知道它是否在运行优先考虑版本2的更改,而不是开发人员中的任何更改。

希望这有意义...我正在寻找哪个git命令?同样,当版本2合并到母版中时,我希望版本2在任何潜在的合并冲突中覆盖母版。

2 个答案:

答案 0 :(得分:1)

您可以通过指定针对您的案例的合并策略ours来创建“伪合并”:

git checkout version-2
git merge -s our master -m "This is a brand new version 2"
git update-ref -m "Promote master to version-2" master refs/heads/version-2
git checkout master
git branch -D version-2 # if nobody needs version-2 anymore

这种方法比重命名分支稍长,但是可以保留项目的整个历史记录。 master分支的所有用户都将获得重大更改,而无需任何额外的努力。

答案 1 :(得分:0)

假设两个分支不共享历史记录,则不需要它们共享历史记录(例如,其他远程pull的共享对象),并且您想升级dev来代替master,最简单的方法就是重命名它们:

git branch -m master old-version
git branch -m dev master

请注意,这将不允许其他地方的现有存储库git pull更新其master分支。但是,他们可以先git fetch,然后再get checkout -b master --track origin/master

相关问题