我有一个我们刚刚重写的项目,它完全改变了应用程序的文件结构,并升级了它的许多部分。我不再关心主分支中的什么;我希望我创建的PR用版本-2分支中的内容来替换主版中的所有内容。我只是不知道该用什么命令。
我在GitHub中创建了PR,但它不能自动为我合并(很明显),但是在version 2分支上运行git merge dev也不起作用,因为我无法准确地判断它是否将版本2的更改优先于开发中的任何更改。
希望这能使sense...which git命令成为我正在寻找的命令?同样,当version-2合并到master中时,我希望version-2在任何潜在的合并冲突中覆盖主服务器.
发布于 2018-10-02 20:40:30
您可以通过指定专门针对您的情况的合并策略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这种方式比重命名分支稍长一些,但它允许保留整个项目的历史记录。主分支的所有用户都将收到重大更改,而无需任何额外的努力。
发布于 2018-10-02 20:34:46
假设这两个分支不共享历史记录,则不需要它们共享历史记录(例如,对于其他远程到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。
https://stackoverflow.com/questions/52615948
复制相似问题