保存当前的git master分支,然后重置为初始提交

时间:2017-11-29 20:00:28

标签: git

我需要使用git帮助。

我犯了这个错误,无法完成主分支中的所有工作。 由于一些问题,我想做以下事情:

  1. 将主分支的当前状态保存在另一个分支中(例如,尚未存在的分支备份)。
  2. 将主分支重置为初始提交
  3. 我还没有找到解决这个问题的方法, 愿你有人帮助我吗?最好的关注

2 个答案:

答案 0 :(得分:0)

首先,您需要找到初始提交的哈希值:

git log --all --grep='initial commit'

然后创建一个备份分支:

git checkout -b backup

最后,返回主分支并重置为初始提交:

git checkout master
git reset --hard <HASH>

答案 1 :(得分:0)

创建backup分支。

git checkout master
git branch backup

如果要在master上保留一个或多个原始提交,则可以使用resetmaster分支移动到先前的提交。您需要目标提交的名称。这可以是提交ID。或者,如果您知道在master分支的当前提示提交之前提交了5个提交,则可以说master~5。如果名称为T,您会说

git reset --hard T

如果您不希望master保留任何现有提交,那么您可以这样做:

git checkout --detach
git branch -D master
git checkout --orphan master

这会将master恢复为“未出生”分支的状态,您的下一次提交将启动新的历史记录。不要忘记您的工作树和索引可能仍然包含backup分支中的状态,因此请确保在提交之前让索引看起来如何。