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}")