在git中查看文件的先前版本(压缩提交)

时间:2019-06-06 08:54:23

标签: git squash

我打算做的事情与here所写的相似。我按照最高答案的意思做了,但是,我意识到自己已经压缩了提交。

这是我的提交历史记录的样子:

Date: <date1>
    commit 3  

Date: <date2>
    commit 2  
    commit 1

(我已将提交1压缩为提交2。)

正如上面问题的最高答案中所说,我做了git show HEAD~2: file.x,但是显示了提交1之前的文件,而做git show HEAD~1: file.x显示了提交2之后的文件。

如何在提交1之后但提交2之前查看文件?

1 个答案:

答案 0 :(得分:0)

如果壁球最近发生,您可以在相关分支的the reflog中检索原始提交1和2。

git reflog

将输出以下形式的条目列表:

<commitHash> (optional decoration, as in, branches pointing here) <ref>: <operation>: <details>

您应该在最近的目录中找到您的变基操作。在此之前创建一个临时分支:

git checkout -b temp HEAD@{n+1}

其中n是您发现的相应参考。

现在,您可以在此临时分支上自由检查您的壁球提交,并在完成后将其丢弃。

(请注意,所有这些操作都不会影响您当前的分支,您可以在完成操作后立即处置新创建的分支)