Git 如何将另一个分支更改为主分支

Git 如何将另一个分支更改为主分支,git,Git,我在master分支中有一些不需要的提交,我在上一次提交中创建了一个分支,即new\u分支。现在new\u branch看起来比master好,我想将new\u branch更改为我的master分支我该怎么做?假设您还没有发布master: git reset——硬“主控中最后一次正确提交的id”以丢弃主控中的提交 git merge--ff only new_branch将提交从new_branch应用到master 假设您尚未发布master: git reset——硬“主控中最后一次

我在
master
分支中有一些不需要的提交,我在上一次提交中创建了一个分支,即
new\u分支。现在
new\u branch
看起来比master好,我想将
new\u branch
更改为我的
master
分支我该怎么做?

假设您还没有发布
master

  • git reset——硬“主控中最后一次正确提交的id”
    以丢弃主控中的提交
  • git merge--ff only new_branch
    将提交从
    new_branch
    应用到master

假设您尚未发布
master

  • git reset——硬“主控中最后一次正确提交的id”
    以丢弃主控中的提交
  • git merge--ff only new_branch
    将提交从
    new_branch
    应用到master
    • 在本地,您可以

      git checkout new_branch
      git branch -D master
      git checkout -b master
      
      如果
      master
      已被推到某个位置,您现在可以执行以下操作

      git push --force WHEREVER master
      
      但是要小心,因为这将需要所有拉过上一个
      master
      的人执行Git黑魔法才能得到新的
      master

      如果
      master
      已经发布,那么最好只
      git revert
      错误提交。

      本地执行

      git checkout new_branch
      git branch -D master
      git checkout -b master
      
      如果
      master
      已被推到某个位置,您现在可以执行以下操作

      git push --force WHEREVER master
      
      但是要小心,因为这将需要所有拉过上一个
      master
      的人执行Git黑魔法才能得到新的
      master

      如果
      master
      已经发布,那么最好只
      git revert
      错误提交。

      您可以执行以下操作:

      git branch -m master oldmaster
      git branch -m new_branch master
      
      请注意,如果在其他位置推过,则必须使用强制推过。

      您可以执行以下操作:

      git branch -m master oldmaster
      git branch -m new_branch master
      

      请注意,如果您在其他位置推送,您将不得不使用强制推送。

      git重置--硬新分支
      会更好吗?仅
      git重置--硬新分支
      会更好吗?