如何通过接受分支的更改将分支合并到主服务器中

时间:2015-05-11 11:47:03

标签: git

我尝试了rebasemerge,但他们都引入了一些非常适合我解决的冲突。我的master分支很老,我想用ready分支中的文件覆盖它。

我有以下分支:

- 主人 - 准备好了

我想将ready合并到master,以便master只是ready的克隆。

我不想解决冲突,实际上,我希望覆盖所有文件而不合并。

注意:

我尝试删除本地master并将ready重命名为master,但我无法将其推送到我在BitBucket托管的远程仓库,BitBucket不允许删除{{1分支。所以我被master

困住了

2 个答案:

答案 0 :(得分:3)

@Kjuly有最好的选择..顺其自然。如果您决定保留文件的原始版本或新版本,还有另一种选择。

为此,git checkout命令中有--theirs和--ours选项。第一个选项保留您合并的文件的版本,第二个选项保留合并操作开始之前的版本。

git checkout --ours foo/bar.java
git add foo/bar.java 

git checkout --theirs foo/bar.java
git add foo/bar.java 

答案 1 :(得分:2)

如果您只想覆盖master分支,只需从master强行推送新克隆的ready

$ git checkout ready
$ git branch -D master      // delete old master
$ git checkout -b master    // create new master
$ git push -f origin master // force push the master br

建议:最好在强制覆盖之前备份旧主人,以防您需要在功能中引用它。