Documentation
¶
Overview ¶
Package git Main package of the git commands.
Reference: https://git-scm.com/docs/
Index ¶
- func Add(options ...types.Option) (string, error)
- func AddWithContext(ctx context.Context, options ...types.Option) (string, error)
- func Branch(options ...types.Option) (string, error)
- func BranchWithContext(ctx context.Context, options ...types.Option) (string, error)
- func Checkout(options ...types.Option) (string, error)
- func CheckoutWithContext(ctx context.Context, options ...types.Option) (string, error)
- func Clone(options ...types.Option) (string, error)
- func CloneWithContext(ctx context.Context, options ...types.Option) (string, error)
- func CmdExecutor(executor types.Executor) types.Option
- func Commit(options ...types.Option) (string, error)
- func CommitWithContext(ctx context.Context, options ...types.Option) (string, error)
- func Cond(apply bool, options ...types.Option) types.Option
- func Config(options ...types.Option) (string, error)
- func ConfigWithContext(ctx context.Context, options ...types.Option) (string, error)
- func Debug(g *types.Cmd)
- func Debugger(debug bool) types.Option
- func Fetch(options ...types.Option) (string, error)
- func FetchWithContext(ctx context.Context, options ...types.Option) (string, error)
- func Init(options ...types.Option) (string, error)
- func InitWithContext(ctx context.Context, options ...types.Option) (string, error)
- func LogOutput(w io.Writer) types.Option
- func Merge(options ...types.Option) (string, error)
- func MergeWithContext(ctx context.Context, options ...types.Option) (string, error)
- func NoOp(_ *types.Cmd)
- func Pull(options ...types.Option) (string, error)
- func PullWithContext(ctx context.Context, options ...types.Option) (string, error)
- func Push(options ...types.Option) (string, error)
- func PushWithContext(ctx context.Context, options ...types.Option) (string, error)
- func Raw(cmd string, options ...types.Option) (string, error)
- func RawWithContext(ctx context.Context, cmd string, options ...types.Option) (string, error)
- func Rebase(options ...types.Option) (string, error)
- func RebaseWithContext(ctx context.Context, options ...types.Option) (string, error)
- func Remote(options ...types.Option) (string, error)
- func RemoteWithContext(ctx context.Context, options ...types.Option) (string, error)
- func Reset(options ...types.Option) (string, error)
- func ResetWithContext(ctx context.Context, options ...types.Option) (string, error)
- func RevParse(options ...types.Option) (string, error)
- func RevParseWithContext(ctx context.Context, options ...types.Option) (string, error)
- func Status(options ...types.Option) (string, error)
- func StatusWithContext(ctx context.Context, options ...types.Option) (string, error)
- func Tag(options ...types.Option) (string, error)
- func TagWithContext(ctx context.Context, options ...types.Option) (string, error)
- func Worktree(options ...types.Option) (string, error)
- func WorktreeWithContext(ctx context.Context, options ...types.Option) (string, error)
Examples ¶
- Add
- AddWithContext
- Branch
- BranchWithContext
- Checkout
- CheckoutWithContext
- Clone
- CloneWithContext
- Commit
- CommitWithContext
- Cond
- Config
- ConfigWithContext
- Fetch
- FetchWithContext
- Init
- InitWithContext
- Merge
- MergeWithContext
- Pull
- PullWithContext
- Push
- PushWithContext
- Raw
- RawWithContext
- Rebase
- RebaseWithContext
- Remote
- RemoteWithContext
- Reset
- ResetWithContext
- RevParse
- RevParseWithContext
- Status
- StatusWithContext
- Tag
- TagWithContext
- Worktree
- WorktreeWithContext
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Add ¶
Add https://git-scm.com/docs/git-add
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/add" "github.com/ldez/go-git-cmd-wrapper/v2/git" ) func main() { out, _ := git.Add(add.All, git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git add --all
func AddWithContext ¶
AddWithContext https://git-scm.com/docs/git-add
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/add" "github.com/ldez/go-git-cmd-wrapper/v2/git" ) func main() { out, _ := git.AddWithContext(context.Background(), add.All, git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git add --all
func Branch ¶
Branch https://git-scm.com/docs/git-branch
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/branch" "github.com/ldez/go-git-cmd-wrapper/v2/git" ) func main() { out, _ := git.Branch(branch.DeleteForce, branch.BranchName("myBranch"), git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git branch -D myBranch
func BranchWithContext ¶
BranchWithContext https://git-scm.com/docs/git-branch
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/branch" "github.com/ldez/go-git-cmd-wrapper/v2/git" ) func main() { out, _ := git.BranchWithContext(context.Background(), branch.DeleteForce, branch.BranchName("myBranch"), git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git branch -D myBranch
func Checkout ¶
Checkout https://git-scm.com/docs/git-checkout
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/checkout" "github.com/ldez/go-git-cmd-wrapper/v2/git" ) func main() { out, _ := git.Checkout(checkout.NewBranch("myBranchName"), git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git checkout -b myBranchName
func CheckoutWithContext ¶
CheckoutWithContext https://git-scm.com/docs/git-checkout
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/checkout" "github.com/ldez/go-git-cmd-wrapper/v2/git" ) func main() { out, _ := git.CheckoutWithContext(context.Background(), checkout.NewBranch("myBranchName"), git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git checkout -b myBranchName
func Clone ¶
Clone https://git-scm.com/docs/git-clone
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/clone" "github.com/ldez/go-git-cmd-wrapper/v2/git" ) func main() { out, _ := git.Clone(clone.Repository("git@github.com:ldez/go-git-cmd-wrapper.git"), git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git clone git@github.com:ldez/go-git-cmd-wrapper.git
func CloneWithContext ¶
CloneWithContext https://git-scm.com/docs/git-clone
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/clone" "github.com/ldez/go-git-cmd-wrapper/v2/git" ) func main() { out, _ := git.CloneWithContext(context.Background(), clone.Repository("git@github.com:ldez/go-git-cmd-wrapper.git"), git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git clone git@github.com:ldez/go-git-cmd-wrapper.git
func CmdExecutor ¶
CmdExecutor Allow to override the Git command call (useful for testing purpose)
func Commit ¶
Commit https://git-scm.com/docs/git-commit
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/commit" "github.com/ldez/go-git-cmd-wrapper/v2/git" ) func main() { out, _ := git.Commit(commit.Amend, commit.Message("chore: foo"), git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git commit --amend --message="chore: foo"
func CommitWithContext ¶
CommitWithContext https://git-scm.com/docs/git-commit
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/commit" "github.com/ldez/go-git-cmd-wrapper/v2/git" ) func main() { out, _ := git.CommitWithContext(context.Background(), commit.Amend, commit.Message("chore: foo"), git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git commit --amend --message="chore: foo"
func Cond ¶
Cond apply conditionally some options
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/git" "github.com/ldez/go-git-cmd-wrapper/v2/push" ) func main() { param := false out, _ := git.Push(push.All, git.Cond(param, push.DryRun), push.FollowTags, push.ReceivePack("aaa"), git.CmdExecutor(cmdExecutorMock)) fmt.Print(out) param = true out, _ = git.Push(push.All, git.Cond(param, push.DryRun), push.FollowTags, push.ReceivePack("aaa"), git.CmdExecutor(cmdExecutorMock)) fmt.Print(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git push --all --follow-tags --receive-pack=aaa git push --all --dry-run --follow-tags --receive-pack=aaa
func Config ¶
Config https://git-scm.com/docs/git-config
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/config" "github.com/ldez/go-git-cmd-wrapper/v2/git" ) func main() { out, _ := git.Config(config.Entry("rebase.autoSquash", "true"), git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git config rebase.autoSquash true
func ConfigWithContext ¶
ConfigWithContext https://git-scm.com/docs/git-config
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/config" "github.com/ldez/go-git-cmd-wrapper/v2/git" ) func main() { out, _ := git.ConfigWithContext(context.Background(), config.Entry("rebase.autoSquash", "true"), git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git config rebase.autoSquash true
func Fetch ¶
Fetch https://git-scm.com/docs/git-fetch
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/fetch" "github.com/ldez/go-git-cmd-wrapper/v2/git" ) func main() { out, _ := git.Fetch(fetch.NoTags, fetch.Remote("upstream"), fetch.RefSpec("myBranchName"), git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git fetch --no-tags upstream myBranchName
func FetchWithContext ¶
FetchWithContext https://git-scm.com/docs/git-fetch
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/fetch" "github.com/ldez/go-git-cmd-wrapper/v2/git" ) func main() { out, _ := git.FetchWithContext(context.Background(), fetch.NoTags, fetch.Remote("upstream"), fetch.RefSpec("myBranchName"), git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git fetch --no-tags upstream myBranchName
func Init ¶
Init https://git-scm.com/docs/git-init
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/git" ginit "github.com/ldez/go-git-cmd-wrapper/v2/init" ) func main() { out, _ := git.Init(ginit.Bare, ginit.Quiet, ginit.Directory("foobar"), git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git init --bare --quiet foobar
func InitWithContext ¶
InitWithContext https://git-scm.com/docs/git-init
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/git" ginit "github.com/ldez/go-git-cmd-wrapper/v2/init" ) func main() { out, _ := git.InitWithContext(context.Background(), ginit.Bare, ginit.Quiet, ginit.Directory("foobar"), git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git init --bare --quiet foobar
func Merge ¶
Merge https://git-scm.com/docs/git-merge
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/git" "github.com/ldez/go-git-cmd-wrapper/v2/merge" ) func main() { out, _ := git.Merge(merge.Squash, merge.Commits("myBranch"), git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git merge --squash myBranch
func MergeWithContext ¶
MergeWithContext https://git-scm.com/docs/git-merge
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/git" "github.com/ldez/go-git-cmd-wrapper/v2/merge" ) func main() { out, _ := git.MergeWithContext(context.Background(), merge.Squash, merge.Commits("myBranch"), git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git merge --squash myBranch
func Pull ¶
Pull https://git-scm.com/docs/git-pull
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/git" "github.com/ldez/go-git-cmd-wrapper/v2/pull" ) func main() { out, _ := git.Pull(pull.All, pull.Force, pull.Repository("upstream"), pull.Refspec("master"), git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git pull --all --force upstream master
func PullWithContext ¶
PullWithContext https://git-scm.com/docs/git-pull
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/git" "github.com/ldez/go-git-cmd-wrapper/v2/pull" ) func main() { out, _ := git.PullWithContext(context.Background(), pull.All, pull.Force, pull.Repository("upstream"), pull.Refspec("master"), git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git pull --all --force upstream master
func Push ¶
Push https://git-scm.com/docs/git-push
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/git" "github.com/ldez/go-git-cmd-wrapper/v2/push" ) func main() { out, _ := git.Push(push.All, push.FollowTags, push.ReceivePack("aaa"), git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git push --all --follow-tags --receive-pack=aaa
func PushWithContext ¶
PushWithContext https://git-scm.com/docs/git-push
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/git" "github.com/ldez/go-git-cmd-wrapper/v2/push" ) func main() { out, _ := git.PushWithContext(context.Background(), push.All, push.FollowTags, push.ReceivePack("aaa"), git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git push --all --follow-tags --receive-pack=aaa
func Raw ¶
Raw use to execute arbitrary git commands.
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/git" "github.com/ldez/go-git-cmd-wrapper/v2/types" ) func main() { out, _ := git.Raw("stash", git.CmdExecutor(cmdExecutorMock), func(g *types.Cmd) { g.AddOptions("list") g.AddOptions("--pretty=format:'%Cblue%gd%Creset%Cred:%Creset %C(yellow)%s%Creset'") }) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git stash list --pretty=format:'%Cblue%gd%Creset%Cred:%Creset %C(yellow)%s%Creset'
func RawWithContext ¶
RawWithContext use to execute arbitrary git commands.
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/git" "github.com/ldez/go-git-cmd-wrapper/v2/types" ) func main() { out, _ := git.RawWithContext(context.Background(), "stash", git.CmdExecutor(cmdExecutorMock), func(g *types.Cmd) { g.AddOptions("list") g.AddOptions("--pretty=format:'%Cblue%gd%Creset%Cred:%Creset %C(yellow)%s%Creset'") }) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git stash list --pretty=format:'%Cblue%gd%Creset%Cred:%Creset %C(yellow)%s%Creset'
func Rebase ¶
Rebase https://git-scm.com/docs/git-rebase
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/git" "github.com/ldez/go-git-cmd-wrapper/v2/rebase" ) func main() { out, _ := git.Rebase(rebase.PreserveMerges, rebase.Branch(fmt.Sprintf("%s/%s", "upstream", "master")), git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git rebase --preserve-merges upstream/master
func RebaseWithContext ¶
RebaseWithContext https://git-scm.com/docs/git-rebase
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/git" "github.com/ldez/go-git-cmd-wrapper/v2/rebase" ) func main() { out, _ := git.RebaseWithContext(context.Background(), rebase.PreserveMerges, rebase.Branch(fmt.Sprintf("%s/%s", "upstream", "master")), git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git rebase --preserve-merges upstream/master
func Remote ¶
Remote https://git-scm.com/docs/git-remote
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/git" "github.com/ldez/go-git-cmd-wrapper/v2/remote" ) func main() { out, _ := git.Remote(remote.Add("upstream", "git@github.com:johndoe/go-git-cmd-wrapper.git"), git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git remote add upstream git@github.com:johndoe/go-git-cmd-wrapper.git
func RemoteWithContext ¶
RemoteWithContext https://git-scm.com/docs/git-remote
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/git" "github.com/ldez/go-git-cmd-wrapper/v2/remote" ) func main() { out, _ := git.RemoteWithContext(context.Background(), remote.Add("upstream", "git@github.com:johndoe/go-git-cmd-wrapper.git"), git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git remote add upstream git@github.com:johndoe/go-git-cmd-wrapper.git
func Reset ¶
Reset https://git-scm.com/docs/git-reset
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/git" "github.com/ldez/go-git-cmd-wrapper/v2/reset" ) func main() { out, _ := git.Reset(reset.Soft, reset.Commit("e41f083"), git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git reset --soft e41f083
func ResetWithContext ¶
ResetWithContext https://git-scm.com/docs/git-reset
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/git" "github.com/ldez/go-git-cmd-wrapper/v2/reset" ) func main() { out, _ := git.ResetWithContext(context.Background(), reset.Soft, reset.Commit("e41f083"), git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git reset --soft e41f083
func RevParse ¶
RevParse https://git-scm.com/docs/git-rev-parse
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/git" "github.com/ldez/go-git-cmd-wrapper/v2/revparse" ) func main() { out, _ := git.RevParse(revparse.AbbrevRef(""), revparse.Args("HEAD"), git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git rev-parse --abbrev-ref HEAD
func RevParseWithContext ¶
RevParseWithContext https://git-scm.com/docs/git-rev-parse
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/git" "github.com/ldez/go-git-cmd-wrapper/v2/revparse" ) func main() { out, _ := git.RevParseWithContext(context.Background(), revparse.AbbrevRef(""), revparse.Args("HEAD"), git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git rev-parse --abbrev-ref HEAD
func Status ¶
Status https://git-scm.com/docs/git-status
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/git" "github.com/ldez/go-git-cmd-wrapper/v2/status" ) func main() { out, _ := git.Status(status.Short, status.Branch, git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git status --short --branch
func StatusWithContext ¶
StatusWithContext https://git-scm.com/docs/git-status
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/git" "github.com/ldez/go-git-cmd-wrapper/v2/status" ) func main() { out, _ := git.StatusWithContext(context.Background(), status.Short, status.Branch, git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git status --short --branch
func Tag ¶
Tag https://git-scm.com/docs/git-tag
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/git" "github.com/ldez/go-git-cmd-wrapper/v2/tag" ) func main() { out, _ := git.Tag(tag.List, git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git tag --list
func TagWithContext ¶
TagWithContext https://git-scm.com/docs/git-tag
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/git" "github.com/ldez/go-git-cmd-wrapper/v2/tag" ) func main() { out, _ := git.TagWithContext(context.Background(), tag.List, git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git tag --list
func Worktree ¶
Worktree https://git-scm.com/docs/git-worktree
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/git" "github.com/ldez/go-git-cmd-wrapper/v2/worktree" ) func main() { out, _ := git.Worktree(worktree.Add("v1.0", "origin/v1.0"), git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git worktree add v1.0 origin/v1.0
func WorktreeWithContext ¶
WorktreeWithContext https://git-scm.com/docs/git-worktree
Example ¶
package main import ( "context" "fmt" "strings" "github.com/ldez/go-git-cmd-wrapper/v2/git" "github.com/ldez/go-git-cmd-wrapper/v2/worktree" ) func main() { out, _ := git.WorktreeWithContext(context.Background(), worktree.Add("v1.0", "origin/v1.0"), git.CmdExecutor(cmdExecutorMock)) fmt.Println(out) } func cmdExecutorMock(_ context.Context, name string, _ bool, args ...string) (string, error) { return fmt.Sprintln(name, strings.Join(args, " ")), nil }
Output: git worktree add v1.0 origin/v1.0
Types ¶
This section is empty.