Я пытаюсь проанализировать git имена ветвей и разделить их, чтобы я мог разделить пульт и имя ветви
Ранее я просто разделял по первой sla sh:
func ParseBranchname(branchString string) (remote, branchname string) {
branchArray := strings.Split(branchString, "/")
remote = branchArray[0]
branchname = branchArray[1]
return
}
Но я забыл, что некоторые люди используют косые черты и в git именах ветвей, даже в нескольких!
Прямо сейчас я беру первый элемент в срезе из разделения, затем перемещаю каждый элемент одна сделана и сливается обратно в sla sh:
func ParseBranchname(branchString string) (remote, branchname string) {
branchArray := strings.Split(branchString, "/")
remote = branchArray[0]
copy(branchArray[0:], branchArray[0+1:])
branchArray[len(branchArray)-1] = ""
branchArray = branchArray[:len(branchArray)-1]
branchname = strings.Join(branchArray, "/")
return
}
Есть ли более чистый способ сделать это?