记住 git 别名中的原始分支

Remembering original branch in git alias

我想创建一个 git 别名,它在与 HEAD 所在的分支不同的分支上执行操作,然后切换回原始分支。但我不确定是否有任何方法可以记住旧分支。我尝试使用标签:

git tag placeholder &&
  git co master &&
  git co placeholder &&
  git tag -d placeholder

但这给我留下了一个分离的 HEAD,而不是在原来的分支上。

您可以使用 git checkout -(即最后一个破折号)返回到您检出的最后一个分支(就像 cd - 的工作方式一样)。

您可以像这样包装您的预期工作:

[alias]
        bookmark = "!export OLD_HEAD=`git rev-parse --abbrev-ref HEAD`; git checkout develop; <do stuff>; git checkout $OLD_HEAD"

本质上,这会将当前分支保存到一个环境变量中,完成预期的工作,并检出原始分支。