是否可以清除master并重新开始但是将master保留在其他分支上以保存历史记录和工作,或者它必须是其他项目?
答案 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
,因为这主要是由此产生的情况。