如何在gitconfig中使用别名正确地使用bash变量

3

这是我的别名,用于创建分支并稍后在该分支上设置上游:

create = !sh -c \"branch=$(git branch | peco) 
          && git fetch origin ${branch}:${1} 
          && git checkout $1 
          && git branch -u origin/$(git current) fix/$1\"

但无论我执行以下命令,它都会显示语法错误,就像这样:new-branch-name: develop: command not found

我需要做什么才能使上述别名起作用呢?非常感谢!

1个回答

1

在git中没有current这样的命令。

以下是解决方法:

create = !sh -c \"branch=$(git rev-parse --abbrev-ref HEAD) && git fetch origin ${branch}:${1} && git checkout $1 && git branch -u origin/$(git rev-parse --abbrev-ref HEAD) fix/$1\"

多行显示以便阅读:

create = !sh -c \"branch=$(git rev-parse --abbrev-ref HEAD) 
         && git fetch origin ${branch}:${1} 
         && git checkout $1 
         && git branch -u origin/$(git rev-parse --abbrev-ref HEAD) fix/$1\"

  1. 我有一个名为 current 的别名:current = rev-parse --symbolic-full-name --abbrev-ref HEAD
  2. 多行代码会引发语法错误
  3. 命令结果相同:git create amend/new-branch 会给出 amend/new-branch: <upstream nane>: command not found
- George Jor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接