在git diff之前和之后获取文件

时间:2019-03-20 10:11:52

标签: git git-diff monaco-editor

我需要在javascript中开发这样的UI

enter image description here

我想我会使用Monaco Diff editor。我正在寻找的是在更改之前和更改之后获取文件的方法。实际上,如果我执行__$ProjectName$__ __$ProjectId$__ __$EnvType$__ ,输出将不是我想要的。我想要的是一个命令在获取文件之前,另一个命令在获取文件之后。

使用这些命令,我​​将能够将“ beforeFile”绑定到原始模型,并将“ afterFile”绑定到ModifyedModel。

如果没有命令,是否可以将git diff的输出转换为两个文件?

1 个答案:

答案 0 :(得分:2)

您可以使用git cat-file,例如使用foo获取存储库中任何文件的任意版本。提交git cat-file blob foo:path/to/file

stdout

文件路径相对于存储库的根目录。该文件的内容将转到git difftool

完整文档:https://git-scm.com/docs/git-cat-file

PS。还请参见{{1}},这是一种为您设想的工具创建基础文件,然后将其传递给程序的方法。它可能不适合您的用例,但可能会提供一些启发。