我经常使用git rebase --interactive来清理历史记录。发生了合并冲突,或者即使没有冲突,仍然存在合并。我总是有点害怕,即使我只是改变了提交的顺序,压扁了它们等等,我总是有点害怕。Git - 如何验证git-rebase - 交互没有改变项目的最终状态
我曾经保留我的工作树的备份副本粘贴到新的。然后我看着gitg中的提交窗口,看看是否所有东西都一样。这是一个痛苦,但我停止制作备份副本。
接下来我做了一个备份分支,我发现git diff backup-branch
的作品。
现在我试着用:(因为我想停止做备份分支机构以及)
git --diff HEAD ORIG_HEAD
但是,这表明我的变化,当我看的文件在我的工作目录中,它看起来像它没有改变。
此场景的正确命令是什么?
喜,这是有道理的。我仍然不明白的是'git reset --hard ORIG_HEAD'用于撤销git rebase。请参阅此处[示例](http://stackoverflow.com/a/5375113/1115652) – nus
'git reset --hard ORIG_HEAD'只适用于非交互式资源分配。如果您执行'rebase -i',则会为每次提交重置ORIG_HEAD。 为了节省我自己的时间,我通常会标记我正在重新绑定的提示,以便我可以轻松地回到它(或将其与最终分支状态进行比较)。这是Rob上述方法的捷径。 – ellotheth