как объединить одну ветку с главной веткой, используя gitpython - PullRequest
1 голос
/ 02 мая 2020

это код для слияния одной ветви с главной веткой

 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'

1 Ответ

0 голосов
/ 02 мая 2020

Если вы выполните регулярное слияние git в командной строке, вы увидите:

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

С gitpython ваша переменная слияния получит такой же результат: Updating 271e9b2..6f5fe42

Вместо использования "merge" в команде pu sh, используйте мастер ветки по умолчанию:

repo.git.push('--set-upstream', 'origin', "master")
                                          ^^^^^^^^
                                 (instead of merge)
...