func (g *Git) Status(opts ...string) *command.Model {
	args := []string{"status"}
	args = append(args, opts...)
	return g.command(args...)
}
Status shows the working tree status.
package git
import (
	"github.com/bitrise-io/go-utils/command"
)
func (g *Git) Init() *command.Model {
	return g.command("init")
}
func (g *Git) Clone(repo string) *command.Model {
	return g.command("clone", repo, ".")
}
func (g *Git) CloneTagOrBranch(repo, tagOrBranch string) *command.Model {
	return g.command("clone", "--recursive", "--branch", tagOrBranch, repo, ".")
}
func (g *Git) RemoteList() *command.Model {
	return g.command("remote", "-v")
}
func (g *Git) RemoteAdd(name, url string) *command.Model {
	return g.command("remote", "add", name, url)
}
func (g *Git) Fetch(opts ...string) *command.Model {
	args := []string{"fetch"}
	args = append(args, opts...)
	return g.command(args...)
}
func (g *Git) Checkout(arg string) *command.Model {
	return g.command("checkout", arg)
}
func (g *Git) Merge(arg string) *command.Model {
	return g.command("merge", arg)
}
func (g *Git) Reset(mode, commit string) *command.Model {
	return g.command("reset", mode, commit)
}
func (g *Git) Clean(options ...string) *command.Model {
	args := []string{"clean"}
	args = append(args, options...)
	return g.command(args...)
}
func (g *Git) SubmoduleUpdate(opts ...string) *command.Model {
	args := []string{"submodule", "update", "--init", "--recursive"}
	args = append(args, opts...)
	return g.command(args...)
}
func (g *Git) SubmoduleForeach(command *command.Model) *command.Model {
	args := []string{"submodule", "foreach"}
	args = append(args, command.GetCmd().Args...)
	return g.command(args...)
}
func (g *Git) Pull() *command.Model {
	return g.command("pull")
}
func (g *Git) Add(pathspec string) *command.Model {
	return g.command("add", pathspec)
}
func (g *Git) Branch(opts ...string) *command.Model {
	args := append([]string{"branch"}, opts...)
	return g.command(args...)
}
func (g *Git) NewBranch(branch string) *command.Model {
	return g.command("checkout", "-b", branch)
}
func (g *Git) Apply(patch string) *command.Model {
	return g.command("apply", "--index", patch)
}
func (g *Git) Log(format string) *command.Model {
	return g.command("log", "-1", "--format="+format)
}
func (g *Git) RevList(commit string, opts ...string) *command.Model {
	args := []string{"rev-list", commit}
	args = append(args, opts...)
	return g.command(args...)
}
func (g *Git) Push(branch string) *command.Model {
	return g.command("push", "-u", "origin", branch)
}
func (g *Git) Commit(message string) *command.Model {
	return g.command("commit", "-m", message)
}
func (g *Git) RevParse(arg string) *command.Model {
	return g.command("rev-parse", arg)
}