diff --git a/internal/worker/gitops.go b/internal/worker/gitops.go index 6a0ceb5..a97b902 100644 --- a/internal/worker/gitops.go +++ b/internal/worker/gitops.go @@ -41,11 +41,12 @@ func (w *Worker) branchDiff(ctx context.Context, repoDir, branch string) (string // pushBranch пушит feature-ветку в origin (remote 'origin' создан при клоне). // Токен передаётся через http.extraHeader, если задан. func (w *Worker) pushBranch(ctx context.Context, repoDir, branch string) error { - args := []string{"push"} + args := []string{"push", "origin", "HEAD:" + branch} if w.GitToken != "" { - args = append(args, "--config", "http.extraHeader=Authorization: Bearer "+w.GitToken) + // У `git push` НЕТ опции --config (в отличие от clone). Конфиг задаётся + // глобальной опцией `-c =`, которая идёт ДО подкоманды. + args = append([]string{"-c", "http.extraHeader=Authorization: Bearer " + w.GitToken}, args...) } - args = append(args, "origin", "HEAD:"+branch) _, err := w.git(ctx, repoDir, args...) return err }