Skip to content

Commit b05a3bc

Browse files
committed
enhancement: git push command use branch name from init.defaultBranch in git config
1 parent a2115d2 commit b05a3bc

File tree

1 file changed

+23
-2
lines changed

1 file changed

+23
-2
lines changed

internal/vcs/create-git-repos.go

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,9 +154,30 @@ type initialCommands struct {
154154
args []string
155155
}
156156

157+
// getInitDefaultBranch return init.defaultBranch value in git config.
158+
// If init.defaultBranch isn't set, getInitDefaultBranch return 'master'.
159+
func getInitDefaultBranch() string {
160+
var initDefaultBranch string
161+
162+
cmd := exec.Command("git", "config", "--get", "init.defaultBranch")
163+
164+
output, err := cmd.CombinedOutput()
165+
166+
if err != nil {
167+
initDefaultBranch = "master"
168+
} else {
169+
initDefaultBranch = string(output)
170+
}
171+
172+
return initDefaultBranch
173+
}
174+
157175
// doInitialCommit runs the git commands that initialize and do the first commit to a repository.
158176
func doInitialCommit(ownerName string, repositoryName string) error {
159177
remoteOrigin := fmt.Sprintf("git@github.com:%s/%s.git", ownerName, repositoryName)
178+
179+
initDefaultBranch := getInitDefaultBranch()
180+
160181
commands := []initialCommands{
161182
{
162183
description: "git init",
@@ -179,9 +200,9 @@ func doInitialCommit(ownerName string, repositoryName string) error {
179200
args: []string{"remote", "add", "origin", remoteOrigin},
180201
},
181202
{
182-
description: "git push -u origin master",
203+
description: fmt.Sprintf("git push -u origin %s", initDefaultBranch),
183204
command: "git",
184-
args: []string{"push", "-u", "origin", "master"},
205+
args: []string{"push", "-u", "origin", initDefaultBranch},
185206
},
186207
}
187208

0 commit comments

Comments
 (0)