Git:清除本地和远程主服务器并重新启动,但在其他分支中保持master

时间:2017-11-22 14:30:33

标签: git github

是否可以清除master并重新开始但是将master保留在其他分支上以保存历史记录和工作,或者它必须是其他项目?

1 个答案:

答案 0 :(得分:3)

这是可能的。首先为历史目的创建一个新分支。

git checkout --detach master
git branch old_master

接下来删除master。 (这就是我们检查--detached的原因;我们无法将其删除,并且#34;正确"签出。)

git branch -D master

现在我们已准备好开始新的历史

git checkout --orphan master

现在,您的下一次提交(假设没有介入checkout s)将重新创建master并带有全新的历史记录。

请记住,您的工作树和索引仍然包含old_master的内容;所有这些都将显示为分阶段/未提交的工作。如果你想要一个真正新的开始,你当然可以擦除索引和工作树。

完成所有这些操作后,下一次推动master必须是强制推动。无论何时进行强制推送,这意味着您需要与共享回购/分支的任何其他人协调。请参阅recovering from upstream rebase文档中的git rebase,因为这主要是由此产生的情况。