【问题标题】:Use a modified variable in bash script, trying to change git branch programatically在 bash 脚本中使用修改后的变量,尝试以编程方式更改 git 分支
【发布时间】:2018-03-08 03:04:27
【问题描述】:

我正在使用我的自定义命令,我目前正在尝试使用 bash 以编程方式更改远程 Git 分支。

issue() {
    if [ `git branch --list issue_$1` ]
    then
        git checkout issue_$1
    else
        git checkout -b issue_$1
        git branch -u origin issue_${1}
    fi
}

这个想法是这个函数将尝试找到分支 issue_X,如果找到它就会切换,否则它会创建并设置远程原点。

问题是git branch -u origin issue_${1}我不知道该怎么做,而且我在谷歌上搜索时遇到了麻烦,因为我不知道这个过程叫什么。

非常感谢您的帮助!

【问题讨论】:

  • 你想说你想让else分支创建一个新的分支,并将其标记为跟踪同名的上游分支,而你不知道该怎么做后者?推一下就行了。
  • @MauroCasas:我还发现您的帖子标题令人困惑。您在谈论“修改后的变量”,但在您的帖子中没有提及任何变量。
  • @MauroCasas:您在设置上游分支时究竟遇到了什么问题?我不是 git 专家,但 -u 的参数应该是上游分支名称。我的感觉是命令git branch -u origin/issue_$1 issue_$1 会更合适。我建议您从您的帖子中删除除 git 之外的所有标签,因为这个问题似乎与 shell 脚本无关,而是与上游分支的命名有关。

标签: linux bash git shell


【解决方案1】:

我不知道怎么办git branch -u origin issue_${1}

如果存在远程跟踪分支origin/issue_${1},您可以使用git branch -u origin/issue_${1}

问题是在你的情况下远程跟踪分支没有退出,你必须创建它:

git push -u origin issue_${1}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-20
    • 2011-01-08
    • 1970-01-01
    • 1970-01-01
    • 2013-08-14
    • 2021-02-13
    • 2017-09-19
    相关资源
    最近更新 更多