上一次提交中文件的路径



是否可以从上一次提交中获取文件的路径?我有一个.xml文件:

<changeSet author="rozmaryn" id="040920201357" runOnChange="true" runInTransaction="true">
<sqlFile path="storedProcedures/procedureFirst.sql"
encoding="UTF-8"
relativeToChangelogFile="true"/>
<rollback>
<sqlFile path = "<$COMMIT_HASH>/storedProcedures/procedureFirst.sql"
encoding="UTF-8"
relativeToChangelogFile="true"/>
</rollback>
</changeSet>

在第一部分中,我有一个sql过程的路径。但在<rollback>中,我希望在特定的先前提交中有一个指向该文件的路径。这是可能的(例如通过提交哈希(?

没有这样的东西,因为在工作树中,项目只有一个版本:与提交HEAD相对应的版本(直接指向,或者更常见的是,指向指向指向提交的分支本身(+自提交或签出以来所做的更改。

项目中的各种版本的文件以压缩的形式存在于.git目录中。只有一个版本是未压缩的、可供编辑的。

然而,你可以做的是创建一个与你感兴趣的任何提交相对应的新文件

例如,如果您运行:

git show <hash>:<file-path> > file

这将创建一个名为file的文件,其中包含您感兴趣的提交时感兴趣的文件的内容。

或者你可以签出你的意向书。然后,您感兴趣的文件将处于您提交时的状态:

git checkout <hash>

最新更新