这个问题涉及如何与 执行合并pygit2
,但据我所知,这将导致新的提交。有没有办法执行变基,这不会导致新的提交,并且只会快进分支引用以对应于给定远程的最新版本?
1 回答
2
您可以使用Reference.set_target()快进。
示例(快速转发master
到origin/master
,假设脚本从master
处于干净状态的签出分支开始):
repo.remotes['origin'].fetch()
origin_master = repo.lookup_branch('origin/master', pygit2.GIT_BRANCH_REMOTE)
master = repo.lookup_branch('master')
master.set_target(origin_master.target)
# Fast-forwarding with set_target() leaves the index and the working tree
# in their old state. That's why we need to checkout() and reset()
repo.checkout('refs/heads/master')
repo.reset(master.target, pygit2.GIT_RESET_HARD)
于 2016-07-25T21:21:18.903 回答