Git:将master合并到新分支并清除master

时间:2011-07-04 07:07:33

标签: git

我想知道是否有人可以向我解释如何将GIT合并到一个新的分支,然后清除master以获得master clean工作目录。

换句话说:主人 - > PHP,因为master现在将拥有Python。

2 个答案:

答案 0 :(得分:3)

如果还没有人克隆你的回购,那么一个解决方案就是:

  • 创建一个PHP分支,其中master当前为
  • 将master重置为Python提示

请参阅:

git checkout master
git branch PHP
git checkout Python
git checkout -B master Python

来自checkout man page

git checkout -b|-B <new_branch> [<start point>]
  

此表单通过更新索引,工作树和HEAD来切换分支,以反映指定的分支或提交。

     

如果给出-B,则创建<new_branch>(如果它不存在);否则,它被重置。

     

这是

的交易等价物
$ git branch -f <branch> [<start point>]
$ git checkout <branch>

但是如果其他人克隆了你的回购,你需要重置master的内容,保留所有以前的提交。

对于不存在的merge -s theirs(你丢弃当前内容并将其替换为另一个分支,如巡回案例中的Python),这将是一个很好的案例:

有关详情,请参阅“git command for making one branch like another” (首先通过PHP当前master所在的PHP分支开始,如上所述:该位不会发生变化,并标记{{1}}更新需要从现在开始的位置)

答案 1 :(得分:1)

“主人”只是一个名字。这是默认设置,但没有什么神奇之处。

您可以使用git branch -m master PHP

将当前的“主”分支重命名为“PHP”

然后检查您正在调用“干净”的任何历史提交(使用git log来确定),然后git branch master在此时创建一​​个主分支。