有没有办法检查在执行 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
将允许您查看两个分支是否有任何不同的提交:
- 如果标签
master
和origin/master
出现在同一个提交上,两个分支是同步的; - 否则,请查看图表以了解应采取什么操作(
pull
、push
、merge
、rebase
...)
关于git - 如何检查 git rebase 发生了什么变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62300776/