比较合并强制推送后的变化

compare changes after merging a forced push

考虑 中的第二种情况:

  1. Dan 和 Brian 从一个共同的提交开始。
  2. 每个都进行单独的提交,以便分支发散。
  3. 段先推
  4. Brian force 推送没有合并 Dan 的提交。
  5. Dan 用 --rebase 拉,观察他的历史丢失。

在一次在线测试中,我被问到以下问题。

How can Dan compare the changes before and after the git pull --rebase?

我需要用一个完整的 git 命令来响应。

如果我真的在处理我的本地存储库,我会使用 git reflog 来检索 git diff 的适当提交 ID,但在在线测试中,我没有得到这样的详细信息。


题源:Codingame在线测试

A 3rd-party user rebased accidentally and incorrectly, and then force pushed it. You pulled these changes into your local repo and lost all commit history.

What command can you execute to list all changes of the repo so that you can come back to a former state corresponding to a given reference?

我今天尝试输入git reflog,在线测试系统接受了。

git reflog 是检索用户留下的过去 git 引用的命令,因此这是对问题的最佳回答。