Git 用于回滚重写历史的命令

Git command for rollback rewriten history

我正在用 git 做一些实验。在我的分支上我做了

git filter-branch --tree-filter "find . -name '*.java' -exec sed -i -e \ 's/stringToReplace/replacement/g' {} \;" 777b7d777c7777777dc16a8a939a8cdbabc28086..HEAD

那是在改写历史。我没有推动更改。现在我想知道如何重置那个东西?我想回滚那个重写。最简单的方法是什么?非常感谢。

当你 运行 git rebase 时,它会将你分支的原始提交 ID 存储在 .git/refs/original/refs/heads/<branchname> 中。如果你想撤销你的变基,你可以 运行:

git reset --hard original/refs/heads/master

这假设您在 master 分支上;如果不是,请适当更改 heads/ 后的分支名称。

或者,如果您只想将本地存储库重置为上游存储库的状态,您可以:

git reset --hard origin/master

这会将您的本地分支重置为名为 origin 的远程分支上的 master 分支。