Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在git diff之前和之后获取文件_Git_Git Diff_Monaco Editor - Fatal编程技术网

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

在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)获取存储库中任

我需要用javascript开发这样的UI

我想我会用的。我要寻找的是一种在更改前和更改后获取文件的方法。实际上,如果我执行git diff my file.ext,那么输出就不是我想要的。我想要的是一个命令,用于在之前获取文件,另一个命令用于在之后获取文件

通过这些命令,我将能够将“beforeFile”绑定到原始模型,“afterFile”绑定到修改后的模型


如果没有命令执行此操作,是否有方法将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