在 git diff 之前和之后获取文件
Get file before and after git diff
我需要在 javascript
中开发一个像这样的 UI
我想我会用Monaco Diff editor。我正在寻找的是一种在更改之前和更改之后获取文件的方法。实际上,如果我 exec git diff my file.ext
输出不是我要找的。我想要的是一个在之前获取文件的命令和一个在之后获取文件的命令。
使用这些命令,我将能够将 "beforeFile" 绑定到原始模型,将 "afterFile" 绑定到修改后的模型。
如果没有命令这样做,有没有办法将 git diff 的输出转换为两个文件?
您可以获得存储库中任何文件的任意版本,例如,git cat-file
,例如对于提交 foo
:
git cat-file blob foo:path/to/file
文件路径是相对于版本库根目录的。该文件的内容将转到 stdout
.
完整文档:https://git-scm.com/docs/git-cat-file
PS。另请参阅 git difftool
,这是一种为您设想的工具创建基础文件然后将它们传递给程序的方法。它可能不适合您的用例,但可能会提供一些灵感。
我需要在 javascript
中开发一个像这样的 UI我想我会用Monaco Diff editor。我正在寻找的是一种在更改之前和更改之后获取文件的方法。实际上,如果我 exec git diff my file.ext
输出不是我要找的。我想要的是一个在之前获取文件的命令和一个在之后获取文件的命令。
使用这些命令,我将能够将 "beforeFile" 绑定到原始模型,将 "afterFile" 绑定到修改后的模型。
如果没有命令这样做,有没有办法将 git diff 的输出转换为两个文件?
您可以获得存储库中任何文件的任意版本,例如,git cat-file
,例如对于提交 foo
:
git cat-file blob foo:path/to/file
文件路径是相对于版本库根目录的。该文件的内容将转到 stdout
.
完整文档:https://git-scm.com/docs/git-cat-file
PS。另请参阅 git difftool
,这是一种为您设想的工具创建基础文件然后将它们传递给程序的方法。它可能不适合您的用例,但可能会提供一些灵感。