我可以通过ruby-git获取上游远程分支吗

xdyibdwo  于 2022-11-04  发布在  Ruby
关注(0)|答案(2)|浏览(143)

我正在使用ruby-git来操作我的Git存储库。我可以从远程分支获取 checkout 的本地分支,如何才能将其从远程分支获取到上游分支呢?代码如下:

require 'Git'
repo = Git.open("xxxpath.git")
localbranch = repo.branches["localbranchnamexxx"]
monwx1rj

monwx1rj1#

就像你在正常的git里做的一样

remote_branch = repo.branches["origin/localbranchnamexxx"]
qhhrdooz

qhhrdooz2#

与直觉相反(至少对我来说),分支跟踪信息存储在git config中,而不是任何分支或ref结构中。

require 'git'
repo = Git.open("xxxpath.git")
localbranch = repo.current_branch
upstream_remote = repo.config["branch.#{localbranch}.remote"]
upstream_ref = repo.config["branch.#{localbranch}.merge"]
upstream_branch = upstream_ref.split('/').last
upstream = "#{upstream_remote}/#{upstream_branch}"

相关问题