func (_m *Worktree) Checkout(_a0 *git.CheckoutOptions) error {
	ret := _m.Called(_a0)
	var r0 error
	if rf, ok := ret.Get(0).(func(*git.CheckoutOptions) error); ok {
		r0 = rf(_a0)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}
Checkout provides a mock function with given fields: _a0
package mocks
import (
	context "context"
	git "github.com/go-git/go-git/v5"
	mock "github.com/stretchr/testify/mock"
	plumbing "github.com/go-git/go-git/v5/plumbing"
)
type Worktree struct {
	mock.Mock
}
func (_m *Worktree) Add(_a0 string) (plumbing.Hash, error) {
	ret := _m.Called(_a0)
	var r0 plumbing.Hash
	if rf, ok := ret.Get(0).(func(string) plumbing.Hash); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(plumbing.Hash)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(string) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Worktree) AddGlob(_a0 string) error {
	ret := _m.Called(_a0)
	var r0 error
	if rf, ok := ret.Get(0).(func(string) error); ok {
		r0 = rf(_a0)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}
func (_m *Worktree) AddWithOptions(_a0 *git.AddOptions) error {
	ret := _m.Called(_a0)
	var r0 error
	if rf, ok := ret.Get(0).(func(*git.AddOptions) error); ok {
		r0 = rf(_a0)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}