git 快进合并是否会更改合并提交的 SHA?



换句话说,快进合并是否保证生成与正在合并的源分支的HEAD相同的GIT SHA?

我在终端中测试了这种行为,它适用于我的测试场景:

$ git rev-parse some-branch
0fc9fba2fb1c8a13556da4a333351bc12909c497
$ git merge some-branch --ff-only
Updating 90c6244..0fc9fba
Fast-forward
b | 0
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 b
$ git rev-parse HEAD  
0fc9fba2fb1c8a13556da4a333351bc12909c497

我可以在我的工具中利用这个条件,例如,我用源GITSHA标记构建工件。如果快进保证没有SHA更改,我就不必做一些可能代价高昂的重建检查。问题是我必须确定这是真的。

快进合并只是在分支上进行索引转发,没有任何提交修改,因此哈希是相同的。

最新更新