diff --git a/server/git/gerrit.go b/server/git/gerrit.go
index d1d029f..d9f1f38 100644
--- a/server/git/gerrit.go
+++ b/server/git/gerrit.go
@@ -152,7 +152,7 @@
 	}
 
 	url := fmt.Sprintf("%s/a/changes/", g.config.BaseURL)
-	
+
 	// Log change creation with structured data
 	g.logger.Info("Creating Gerrit change",
 		slog.String("url", url),
diff --git a/server/git/git.go b/server/git/git.go
index 29cee16..9ee3074 100644
--- a/server/git/git.go
+++ b/server/git/git.go
@@ -32,6 +32,7 @@
 	Checkout(ctx context.Context, ref string) error
 	DeleteBranch(ctx context.Context, name string, force bool) error
 	GetCurrentBranch(ctx context.Context) (string, error)
+	GetUpstreamBranch(ctx context.Context, branch string) (string, error)
 
 	// Commit operations
 	Add(ctx context.Context, paths []string) error
@@ -394,6 +395,22 @@
 	return strings.TrimSpace(output), nil
 }
 
+// GetUpstreamBranch returns the upstream branch for a given branch
+func (g *Git) GetUpstreamBranch(ctx context.Context, branch string) (string, error) {
+	cmd := exec.CommandContext(ctx, "git", "rev-parse", "--abbrev-ref", branch+"@{upstream}")
+	cmd.Dir = g.repoPath
+	output, err := g.runCommandWithOutput(cmd, "rev-parse")
+	if err != nil {
+		return "", err
+	}
+
+	// The output will be in format "origin/branch-name", we want just "branch-name"
+	upstream := strings.TrimSpace(output)
+	upstream = strings.TrimPrefix(upstream, "origin/")
+
+	return upstream, nil
+}
+
 // Add stages files for commit
 func (g *Git) Add(ctx context.Context, paths []string) error {
 	args := append([]string{"add"}, paths...)
diff --git a/server/git/github.go b/server/git/github.go
index a73c4c6..87ec363 100644
--- a/server/git/github.go
+++ b/server/git/github.go
@@ -114,10 +114,10 @@
 
 // GitHub webhook API types
 type githubWebhookRequest struct {
-	Name   string                `json:"name"`
-	Active bool                  `json:"active"`
-	Events []string              `json:"events"`
-	Config githubWebhookConfig   `json:"config"`
+	Name   string              `json:"name"`
+	Active bool                `json:"active"`
+	Events []string            `json:"events"`
+	Config githubWebhookConfig `json:"config"`
 }
 
 type githubWebhookConfig struct {
