command/git.go

60 lines
1.4 KiB
Go
Raw Normal View History

2022-06-14 20:23:30 +08:00
// Package command ...
//
// Description : command ...
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2022-06-14 20:02
package command
import "git.zhangdeman.cn/zhangdeman/command/define"
// Git ...
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 20:09 2022/6/14
func Git(workDir string, gitCmdPath string) *git {
if len(gitCmdPath) == 0 {
gitCmdPath = "git"
}
return &git{
workDir: workDir,
gitCmdPath: gitCmdPath,
}
}
type git struct {
workDir string
gitCmdPath string
}
// Init 对应 git init 命令
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 20:10 2022/6/14
func (g *git) Init() *define.Result {
// 删除已有git信息
_ = Dir(g.workDir).Delete(".git")
return Execute(g.workDir, g.gitCmdPath, []string{"init"})
}
// RemoteAddOrigin 对应 git remote add origin xxxx 命令
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 20:20 2022/6/14
func (g *git) RemoteAddOrigin(gitRepoAddress string) *define.Result {
return Execute(g.workDir, g.gitCmdPath, []string{"remote", "add", "origin", gitRepoAddress})
}
// SetUpstreamOrigin 对应 git push --set-upstream origin xxx 命令
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 20:22 2022/6/14
func (g *git) SetUpstreamOrigin(origin string) *define.Result {
return Execute(g.workDir, g.gitCmdPath, []string{"push", "--set-upstream ", "origin", origin})
}