Git checkout 分支的别名,pull 和 checkout back
Git alias for checkout branch, pull and checkout back
我们正在使用功能分支工作流,这意味着其他人将他们的更改合并到我想合并到我的功能分支中的 dev
分支。因为它经常发生,所以我想要一个简单的 git 别名,它可以:
- 检查
dev
分支
- 拉
- 检查上一个分支
我想自己进行合并,因为有时更改会阻止签出或拉取失败。
我目前的状态是:
[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}
的便捷快捷方式,但两者都有效。
我们正在使用功能分支工作流,这意味着其他人将他们的更改合并到我想合并到我的功能分支中的 dev
分支。因为它经常发生,所以我想要一个简单的 git 别名,它可以:
- 检查
dev
分支 - 拉
- 检查上一个分支
我想自己进行合并,因为有时更改会阻止签出或拉取失败。
我目前的状态是:
[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}
的便捷快捷方式,但两者都有效。