Sajith Silva Sajith Silva - 1 year ago 173
Git Question

golang git pulling a repo

I'm very new to golang
Im trying to do a git pull from go program. I have looked in to native libraries and found

I has features to of cloning ect. but not pulling. Looking at the source it seems there is a function for pulling as well

func (r *Repository) Pull(o *PullOptions)

However compiler warns that its undefined. Can anyone point me how can I do this or to an alternative library which supports both clone and pull ?

Answer Source

You should create a Repository struct by cloning a repo:

import {
  git ""

repo, err := git.Clone(memory.NewStorage(), nil, &git.CloneOptions{
    URL: "",

And then on the repo struct call Pull.

err := repo.Pull(&git.PullOptions{
    RemoteName: "origin"

You cannot call git.Pull directly.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download