From 50301dfb8c5e5e2d0b8b8f092b9a6bc39529cfb5 Mon Sep 17 00:00:00 2001 From: zyc <1439655764@qq.com> Date: Tue, 24 Feb 2026 13:50:31 +0800 Subject: [PATCH] fix(git-manager): set upstream when pushing new branches push() was failing for new fix branches because they had no upstream tracking branch. Now uses set_upstream=True with explicit refspec. Co-Authored-By: Claude Opus 4.6 --- repair_agent/agent/git_manager.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/repair_agent/agent/git_manager.py b/repair_agent/agent/git_manager.py index 06b46bf..44d6d36 100644 --- a/repair_agent/agent/git_manager.py +++ b/repair_agent/agent/git_manager.py @@ -158,17 +158,15 @@ class GitManager: return False def push(self, branch_name: Optional[str] = None) -> bool: - """推送到远程""" + """推送到远程(自动设置上游跟踪分支)""" if not self.repo: return False - + try: + branch = branch_name or self.repo.active_branch.name origin = self.repo.remotes.origin - if branch_name: - origin.push(branch_name) - else: - origin.push() - logger.info("推送成功") + origin.push(refspec=f"{branch}:{branch}", set_upstream=True) + logger.info(f"推送成功: {branch}") return True except Exception as e: logger.error(f"推送失败: {e}")