在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Linux  HTML/ git 何如通過(guò)diff 輸出語(yǔ)義的文件。

git 何如通過(guò)diff 輸出語(yǔ)義的文件。

1.我想要得到兩個(gè)git版本中的差異,并且以文件形式保存,最好是能以可讀性文件,json之類的形式。
2.現(xiàn)在我嘗試了一種比較粗暴的辦法,使用git status查出改變的文件,。解析出來(lái),再通過(guò)git diff進(jìn)行比較輸出。想請(qǐng)問(wèn)有什么更好一點(diǎn)的辦法嗎。

我想要的結(jié)果是這樣的形式。
修改前:
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');
}


然后可以輸出一個(gè)文件

{
    "1.js": '--function todo1() { ++function todo3() {',
    "2.js": '--function todo2() { ++function todo4() {',
}
類似于上述的形式。

回答
編輯回答
下墜

git diff 的輸出格式,本來(lái)就是標(biāo)準(zhǔn)的 patch 格式,按行解析,每個(gè)文件也可以得到的。

如果只是拿文件列表,加個(gè) --name-only 參數(shù)就可以:

git diff --name-only 20ac 81d711
2018年2月22日 19:12