diff --git a/models/repo.go b/models/repo.go index f92f753b9..8fda3c674 100644 --- a/models/repo.go +++ b/models/repo.go @@ -700,12 +700,13 @@ func UpdateLocalCopyBranch(repoPath, localPath, branch string) error { }); err != nil { return fmt.Errorf("git checkout %s: %v", branch, err) } - if err := git.Pull(localPath, git.PullRemoteOptions{ - Timeout: time.Duration(setting.Git.Timeout.Pull) * time.Second, - Remote: "origin", - Branch: branch, - }); err != nil { - return fmt.Errorf("git pull origin %s: %v", branch, err) + + _, err := git.NewCommand("fetch", "origin").RunInDir(localPath) + if err != nil { + return fmt.Errorf("git fetch origin: %v", err) + } + if err := git.ResetHEAD(localPath, true, "origin/"+branch); err != nil { + return fmt.Errorf("git reset --hard origin/%s: %v", branch, err) } } return nil