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