Git checkout 分支的别名,pull 和 checkout back

Git alias for checkout branch, pull and checkout back

我们正在使用功能分支工作流,这意味着其他人将他们的更改合并到我想合并到我的功能分支中的 dev 分支。因为它经常发生,所以我想要一个简单的 git 别名,它可以:

  1. 检查 dev 分支
  2. 检查上一个分支

我想自己进行合并,因为有时更改会阻止签出或拉取失败。

我目前的状态是:

[alias]
  pull-and-back = !git checkout  && git pull && git checkout @{-1}

遗憾的是给出了错误 error: pathspec 'dev' did not match any file(s) known to git

出了什么问题?我假设感叹号导致命令被解释为 bash 代码,最后一部分 @{-1} 不是由 git 评估,而是由 bash 评估。

您必须使用临时 bash 函数来传递您的参数:

git config alias.pab '!f() { git checkout  && git pull && git checkout -; }; f'

请注意,git checkout -git checkout @{-1} 的便捷快捷方式,但两者都有效。