如何用master覆盖某个分支

时间:2014-08-29 03:42:58

标签: git tortoisegit

我有两个分支devmaster。我希望我的dev分支被master分支完全覆盖,因为我知道master是最新的。我怎么能用TortoiseGit UI做到这一点?

我尝试使用TortoiseGit进行合并,但这会导致许多冲突。

请告诉我Tortoise GIT中的答案,因为我只使用用户界面且不熟悉实际的GIT命令。

3 个答案:

答案 0 :(得分:0)

在TortoiseGit中,根据您的情况,您有几种选择:

  1. 您在dev分支上:转到日志对话框,打开主分支条目上的上下文菜单,然后选择“重置为”并选择“硬”。

  2. 您不在dev分支上:创建名称为dev的新分支,选择master分支作为原点,然后选择“覆盖分支(如果存在)”(或转到日志对话框,打开dev分支上的上下文菜单,然后选择删除分支并打开master分支上的上下文菜单,并创建一个名为dev的新分支。

答案 1 :(得分:0)

  

免责声明:我希望这不是一个TortoiseGit解决方案,而是一个CLI   无论如何都会帮助别人的。

由于没有人建议过,所以我们还要注意这种简单的方法:

git branch -f dev master

这是将第一个给定引用(此处为:dev)设置为第二个引用(此处为:master)当前指向的同一点的简短方法。 (作为附带说明,在执行此命令后,它们不会以任何方式“链接”,并且在所有意图和目的上都保持独立。)

在重写分支dev的历史记录时,如果它具有远程副本,则必须用力推动它:

git checkout dev
git push -f origin HEAD

无论如何,如果您碰巧在该分支上有其他人与您一起工作,则此处的任何解决方案都是重写历史记录的方法,因此请务必事先与他们讨论!

答案 2 :(得分:-1)

如果这是对或错,我有没有的想法,但我似乎已经用这样的主人覆盖了另一个分支:

git push origin master:otherbranch

然后当我换了车时,我不得不拉,这很好吗?