2

有没有办法检查git rebase在执行 rebase 并退出 rebase 模式后发生了什么变化?

我使用 rebase 来更改以前提交的作者姓名。

在尝试这样做时,我在错误的分支(即,master)中重新设置了基准,该分支在重新设置文件中向我查看了一些不是我的目标的提交。因此,我只是退出了编辑器,它说“变基成功完成”。

最后,我切换到我的本地分支(即,vIO),我可以更改作者姓名,但我想检查我的其他变基试验是否影响历史。顺便说一句,我的本地分支 ( vIO) 尚未推送到远程。

我尝试通过以下方式将本地主机与远程主机进行比较:

git diff origin/master...master

这并没有带来任何东西。这是否意味着主分支肯定不受变基的影响?

4

1 回答 1

3

git为每个单独的分支保留一个日志,您可以通过以下git reflog命令访问它:

  • git reflog master将向您展示您当地master分支机构的演变,
  • git reflog vIO您当地vIO分支机构的发展。

在此 reflog 中,rebase 应用的操作将显示一条消息:

rebase (finish): refs/heads/branchname onto eacf32bb...

命令告诉你master上git diff origin/master...master没有新内容,这是一个很好的迹象。

如果您想 100% 确定master没有移动,请查看提交列表git log

git log --graph --oneline origin/master master

将允许您查看两个分支是否有任何不同的提交:

  • 如果标签masterorigin/master出现在同一个提交上,则两个分支是同步的;
  • 否则,请查看图表以了解应采取的措施(pullpushmergerebase...)
于 2020-06-10T12:04:15.930 回答