func (_m *Worktree) Submodules() (git.Submodules, error) {
	ret := _m.Called()
	var r0 git.Submodules
	if rf, ok := ret.Get(0).(func() git.Submodules); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(git.Submodules)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
Submodules provides a mock function with given fields:
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
}
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
}
func (_m *Worktree) Clean(_a0 *git.CleanOptions) error {
	ret := _m.Called(_a0)
	var r0 error
	if rf, ok := ret.Get(0).(func(*git.CleanOptions) error); ok {
		r0 = rf(_a0)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}
func (_m *Worktree) Commit(_a0 string, _a1 *git.CommitOptions) (plumbing.Hash, error) {
	ret := _m.Called(_a0, _a1)
	var r0 plumbing.Hash
	if rf, ok := ret.Get(0).(func(string, *git.CommitOptions) plumbing.Hash); ok {
		r0 = rf(_a0, _a1)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(plumbing.Hash)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(string, *git.CommitOptions) error); ok {
		r1 = rf(_a0, _a1)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Worktree) Grep(_a0 *git.GrepOptions) ([]git.GrepResult, error) {
	ret := _m.Called(_a0)
	var r0 []git.GrepResult
	if rf, ok := ret.Get(0).(func(*git.GrepOptions) []git.GrepResult); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]git.GrepResult)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(*git.GrepOptions) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Worktree) Move(_a0 string, _a1 string) (plumbing.Hash, error) {
	ret := _m.Called(_a0, _a1)
	var r0 plumbing.Hash
	if rf, ok := ret.Get(0).(func(string, string) plumbing.Hash); ok {
		r0 = rf(_a0, _a1)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(plumbing.Hash)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(string, string) error); ok {
		r1 = rf(_a0, _a1)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Worktree) Pull(_a0 *git.PullOptions) error {
	ret := _m.Called(_a0)
	var r0 error
	if rf, ok := ret.Get(0).(func(*git.PullOptions) error); ok {
		r0 = rf(_a0)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}
func (_m *Worktree) PullContext(_a0 context.Context, _a1 *git.PullOptions) error {
	ret := _m.Called(_a0, _a1)
	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *git.PullOptions) error); ok {
		r0 = rf(_a0, _a1)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}
func (_m *Worktree) Remove(_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) RemoveGlob(_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) Reset(_a0 *git.ResetOptions) error {
	ret := _m.Called(_a0)
	var r0 error
	if rf, ok := ret.Get(0).(func(*git.ResetOptions) error); ok {
		r0 = rf(_a0)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}
func (_m *Worktree) Status() (git.Status, error) {
	ret := _m.Called()
	var r0 git.Status
	if rf, ok := ret.Get(0).(func() git.Status); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(git.Status)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Worktree) Submodule(_a0 string) (*git.Submodule, error) {
	ret := _m.Called(_a0)
	var r0 *git.Submodule
	if rf, ok := ret.Get(0).(func(string) *git.Submodule); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*git.Submodule)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(string) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}