git - 如何检查 git rebase 发生了什么变化?

标签 git rebase git-history-rewrite

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

我使用 rebase 更改了之前提交的作者姓名。

在尝试这样做时,我在错误的分支(即 master)中进行了重新基址调整,该分支在重新基址文件中看到了一些不是我的目标的提交。因此,我只是退出了编辑器,它说“Rebase 已成功完成”。

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

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

git diff origin/master...master

这并没有带来任何东西。这是否意味着 master 分支没有受到 rebase 的影响?

最佳答案

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

  • git reflog master将向您展示本地的演变master分支,
  • git reflog vIO您本地的演变vIO分支。

在此引用日志中,由 rebase 应用的操作将显示一条消息:

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

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

如果你想百分百确定 master没有动,看看提交列表 git log :

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

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

  • 如果标签 masterorigin/master出现在同一个提交上,两个分支是同步的;
  • 否则,请查看图表以了解应采取什么操作( pullpushmergerebase ...)

关于git - 如何检查 git rebase 发生了什么变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62300776/

相关文章:

文件的工作副本与其在另一个分支上的版本之间的 git diff

mysql - 为我的 EC2 和 RDS 设置设置测试环境

git - 如何对大量提交进行 rebase

git 无法压缩提交

git - 将 .gitattributes 文件中的 merge 规则应用于 git rebase 调用

git-svn 错误导入存储库 : fatal: Not a valid object name

git - 使用 github.com 查看文件的更改历史