@@ -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.
158176func 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