在git diff之前和之后获取文件
我需要用javascript开发这样的UI 我想我会用的。我要寻找的是一种在更改前和更改后获取文件的方法。实际上,如果我执行git diff my file.ext,那么输出就不是我想要的。我想要的是一个命令,用于在之前获取文件,另一个命令用于在之后获取文件 通过这些命令,我将能够将“beforeFile”绑定到原始模型,“afterFile”绑定到修改后的模型在git diff之前和之后获取文件,git,git-diff,monaco-editor,Git,Git Diff,Monaco Editor,我需要用javascript开发这样的UI 我想我会用的。我要寻找的是一种在更改前和更改后获取文件的方法。实际上,如果我执行git diff my file.ext,那么输出就不是我想要的。我想要的是一个命令,用于在之前获取文件,另一个命令用于在之后获取文件 通过这些命令,我将能够将“beforeFile”绑定到原始模型,“afterFile”绑定到修改后的模型 如果没有命令执行此操作,是否有方法将git diff的输出转换为两个文件?您可以使用(例如,git cat file)获取存储库中任
如果没有命令执行此操作,是否有方法将git diff的输出转换为两个文件?您可以使用(例如,
git cat file
)获取存储库中任何文件的任意版本,例如,对于提交foo
:
git cat-file blob foo:path/to/file
文件路径相对于存储库的根目录。文件内容将转到stdout
完整文档:
另请看
git difftool
,这是一种为您设想的工具创建基础文件,然后将其传递给程序的方法。它可能不适合您的用例,但可能会提供一些灵感。因此我必须使用foo作为after的当前提交和before的父提交?@GitHarpon yes,如果您希望该提交使用before/after。因此,您可以使用foo
和foo~
(尽管对于合并提交来说可能没有那么多意义)。那么您需要对合并做什么呢?@GitHarpon您可以使用完全相同的方法进行合并,并且可以工作,但是合并通常有三个版本(一个分支上的前一个版本、另一个分支上的前一个版本和新版本)。在合并提交时,您可以访问以前的两个版本,即foo^1
和foo^2
。