如何在 2 个提交更改集之间获取 merge 的 Git 差异,而不包括 merge 提交所做的更改。
例如:
Commit-1a
文件 - gitdiff.js
变化
function check(){
var a=10;
console.log(a);
}
Commit-2b( merge 提交)
文件 - gitdiff.js
变化
function merge(){
console.log(“inside merge”);
}
function mergechange(){
console.log(“inside mergechange”);
}
Commit-3c
文件 - gitdiff.js
变化
function lastfn(){
console.log(“inside lastfn”);
}
3次提交后的文件内容
function merge(){
console.log(“inside merge”);
}
function check(){
var a=10;
console.log(a);
}
function mergechange(){
console.log(“inside mergechange”);
}
function lastfn(){
console.log(“inside lastfn”);
}
当我在提交 1a 和提交 3c 之间进行 git diff 时,我希望输出差异如下所示。
Git diff commit-1a commit-3c
文件 - gitdiff.js
变化
function check(){
var a=10;
console.log(a);
}
function lastfn(){
console.log(“inside lastfn”);
}
有没有办法获得像上面这样的输出而不包括 merge 更改?
最佳答案
你不能做你想做的事。
Git 存储项目状态,而 git diff
只能显示项目状态之间的更改。对于 git diff 来说,两个状态之间的关系是什么、它们之间是否存在任何其他项目状态或者其中之一是否是 merge 完全无关。
关于Git 两个提交/变更集之间的差异,不包括 merge 提交更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71172020/