如何创建一个分支并将主分支恢复到某个点?

How to make a branch and revert the main branch to some point?

我有一个主分支,叫做 "dog",我每天都在那里提交。今天我的老板说我犯了一个错误,我必须在一周前创建另一个分支 "cat" 并在一周内将我所有的提交都放在那里。

好吧,现在已经太晚了。

现在是否可以这样做:像一周前一样创建一个分支并将所有提交移到那里,以便当前 "dog" 看起来整个星期都没有人提交?

这是我的理论行动方案:

第 1 步: 将当前分支从 dog 重命名为 cat

git branch -m <oldname> <newname>

变成

git branch -m dog cat

步骤 2: 从您希望的最后一次提交创建一个新分支 dog

为此,获取您希望 dog 分支拥有的最后一次提交并执行以下操作:

git branch dog <sha1-of-commit>

git checkout -b dog <sha1-of-commit>

如果您已经推送到原点,您可能需要--force一些东西。