上一次提交中文件的路径

问题描述

是否可以从上一次提交中获取文件的路径? 我有一个.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>

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...