merge - 如何确定merge()后是否需要git_commit_create()?
问题描述
当我使用 libgit2 更新数据时,pull 似乎创建了不必要的短期分支和合并,这是一个令人头疼的问题。并且每次合并都会产生一个新的oid,因此应该有一个函数来确定在合并提交之前是否需要合并提交。想知道这是否是一个好习惯,那么最好的方法是什么?
解决方案
如果您想分析两个分支之间是否需要合并,或者如果它是可快速转发的,请使用以下git_merge_analysis
函数:
git_merge_analysis_t analysis;
git_merge_preference_t preference;
int error = git_merge_analysis(&analysis, &preference, repo, merge_heads, merge_head_len);
if (analysis == GIT_MERGE_ANALYSIS_FASTFORWARD) {
/* You can simply do a fast-forward */
} else {
/* You need to do a true merge */
}
您可能希望检查preference
以了解用户是否要求从不快进。
推荐阅读
- php - SOAP_SINGLE_ELEMENT_ARRAYS 的未定义常量错误
- powershell - -Recurse 标志在 PowerShell 中的作用是什么?
- php - 使用 PHP 表单将数据输入 MySQL 数据库
- java - 如何在耶拿处理 Sparql 端点断开连接
- docker - 从站上的管道失败
- git - 在最初创建提交的 Bitbucket 上查找拉取请求
- python - 将 PySpark 命令转换为自定义函数
- eclipse - 使用导出为 PDF 的 BIRT 报告在单元格上换行
- javascript - 换行符不会连接
- rest - Spring-boot 使用可分页测试休息控制器