执行与 Rugged 的“快进”合并



使用Rugged,执行快进"合并"的规范方法是什么?

从这里我找到了一个可能的线索:

# Move branch forward
# Since there's no fast-forward merge in this lib yet, do it by hand.
br = repo.branch "master"
br.move 'master-old', true if br != nil
repo.create_branch 'master', commit_sha
#br.delete! # No real harm in this hanging around

但我很好奇这里是否有改进的余地。

不需要称为"快进合并"libgit2 的操作,因为所谓的 ff-merge 正在将当前分支更新为另一个分支上的任何提交,该分支确实存在。

repo.checkout_tree(other_branch.target)
repo.references.update(repo.head.resolve, other_branch.target_id)

将工作目录更新为另一端拥有的内容,然后将当前分支设置为指向分支尖端的任何提交以"合并",这就是 ff 所做的。

最新更新