merge()后如何判断是否需要git_commit_create()?
How to determine if need to git_commit_create() after the merge()?
当我使用 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
以了解用户是否要求永不快进。
当我使用 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
以了解用户是否要求永不快进。