Py学习  »  Git

Git接受Pull请求的所有更改

pjlamb12 • 5 年前 • 257 次点击  

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

我在Github中创建了PR,但它不能自动为我合并(显然),而是运行 git merge dev 在version-2分支上也不起作用,因为我无法确切地判断它是否将version-2更改优先于dev中的任何内容。

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

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/30514
 
257 次点击  
文章 [ 2 ]  |  最新文章 5 年前
coreyward
Reply   •   1 楼
coreyward    5 年前

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

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

注意,这将不允许其他地方的现有回购 git pull 他们的 主人 最新分支。但是,他们可以, git fetch 然后 get checkout -b master --track origin/master .

user3159253
Reply   •   2 楼
user3159253    5 年前

通过指定合并策略,可以创建“假合并” 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

这种方法比重命名分支稍长,但它允许保留项目的整个历史记录。主分支的所有用户都将在不做任何额外工作的情况下收到主要更改。