git - git 快进 merge 是否会更改 merge 提交的 SHA?

标签 git github gitlab git-merge

换句话说,快进 merge 是否能保证生成与要 merge 的源分支的 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

我可以在我的工具中利用这种条件,例如我使用源 GIT SHA 标记构建工件。如果快进保证 SHA 不会发生变化,我就不必进行一些可能成本高昂的重建检查。问题是我必须确定这是真的。

最佳答案

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

关于git - git 快进 merge 是否会更改 merge 提交的 SHA?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67740738/

相关文章:

git - 撤消 "Reverting a pull request"

gitlab - 为什么我的 gitlab 管道因 rsync 错误而失败

kubernetes - GKE 集群无法从同一项目中的 GCR 注册表中提取 (ErrImagePull) (GitLab Kubernetes 集成) : Why?

git - 是否可以继续 Github 上其他人打开的 pull 请求?

java - 安全访问GitHub出现UnknownHostKey异常

git - 如何计算 Git 中两次提交之间更改的行数?

Github 和 Fogbugz

ssh - 使用 ssh 获取 gitlab-runner 10.0.2 克隆存储库

git - IDEA git 日志屏幕中的箭头是什么意思?

git - 如何修复由于删除分支中的文件而导致的 merge 冲突?