如何使用gitpython将一个分支合并到主干分支?

问题描述 投票:1回答:1

这是合并单一分支到主分支的代码。

 from git import Repo
 repo = Repo.clone_from(URL, versionTag)
 merge = repo.git.merge(versionTag)
 repo.git.push('--set-upstream', 'origin', merge)

错误:这是我得到的错误.请帮助合并一个分支到主分支。

Traceback (most recent call last):
  File "Clone.py", line 51, in <module>
    repo.git.push('--set-upstream', 'origin', merge)
  File "/home/igs-lt14/.local/lib/python2.7/site-packages/git/cmd.py", line 545, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "/home/igs-lt14/.local/lib/python2.7/site-packages/git/cmd.py", line 1014, in _call_process
    return self.execute(call, **exec_kwargs)
  File "/home/igs-lt14/.local/lib/python2.7/site-packages/git/cmd.py", line 825, in execute
    raise GitCommandError(command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('git') failed due to: exit code(128)
  cmdline: git push --set-upstream origin Updating 271e9b2..6f5fe42
Fast-forward
 simple | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 simple
  stderr: 'fatal: remote part of refspec is not a valid name in Updating 271e9b2..6f5fe42
Fast-forward
 simple | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 simple'
python git gitpython
1个回答
0
投票

如果你在命令行中进行常规的 git 合并,你会看到。

$ git merge upstream/master
> Updating a422352..5fdff0f

在gitpython中,你的合并变量得到了同样的结果。Updating 271e9b2..6f5fe42

而不是使用"merge"中的推送命令,使用默认的分支主。

repo.git.push('--set-upstream', 'origin', "master")
                                          ^^^^^^^^
                                 (instead of merge)
© www.soinside.com 2019 - 2024. All rights reserved.