1.我想要得到两个git版本中的差异,并且以文件形式保存,最好是能以可读性文件,json之类的形式。
2.现在我尝试了一种比较粗暴的办法,使用git status查出改变的文件,。解析出来,再通过git diff进行比较输出。想请问有什么更好一点的办法吗。
我想要的结果是这样的形式。
修改前:
1.js
function todo1() {
console.log('todo');
}
2.js
function todo2() {
console.log('todo');
}
修改后:
1.js
function todo3() {
console.log('todo');
}
2.js
function todo4() {
console.log('todo');
}
然后可以输出一个文件
{
"1.js": '--function todo1() { ++function todo3() {',
"2.js": '--function todo2() { ++function todo4() {',
}
类似于上述的形式。
git diff
的输出格式,本来就是标准的patch
格式,按行解析,每个文件也可以得到的。如果只是拿文件列表,加个
--name-only
参数就可以: