git - “退出状态 128”试图从 golang 创建 git 分支
问题描述
我正在尝试从 golang 创建一个“功能分支”。以下代码不起作用:
reader := bufio.NewReader(os.Stdin)
fmt.Print(color.RedString("New feature description: "))
featureName, _ := reader.ReadString('\n')
featureName = strings.ReplaceAll(featureName, " ", "-")
featureBranchName := "feature/" + featureName
cmdStartBranch := "git"
arguments := []string{"checkout", "-b", featureBranchName}
if _, err := exec.Command(cmdStartBranch, arguments...).Output(); err != nil {
fmt.Println(color.RedString(err.Error()))
os.Exit(1)
}
但硬编码featureBranchName
它有效:
cmdStartBranch := "git"
arguments := []string{"checkout", "-b", "feature/ciaone-proprio"}
if _, err := exec.Command(cmdStartBranch, arguments...).Output(); err != nil {
fmt.Println(color.RedString(err.Error()))
os.Exit(1)
}
解决方案
ReadString('\n')返回分隔符'\n',您需要将其删除。
featureName, err := reader.ReadString('\n')
if err == nil {
n := len(featureName)
featureName = featureName[:n-1]
}
...
推荐阅读
- ubuntu - 如何在 Ubuntu 上启用 openLDAP 以使用 LDAP over SSL
- php - 我的服务器中没有`/usr/local/php/bin/phpize`
- tail - 如何使用 tee 命令将输出重定向到 tcsh shell 中的两个不同命令
- php - 为什么php将空行写入文本文件?
- spring - spring-boot:注册mongodb自定义转换器
- r - 一种运行许多方差分析和提取某些列的快速方法
- android - Scrollview 在布局底部添加了额外的空间
- jpa - 仅在某些特定条件下加载表 (@Where)
- android - RecyclerView 中的 CardView - 微调器
- jenkins - 如何禁用 Jenkins Pipeline 阶段视图插件