git - 有没有办法输出之前的git分支名?

标签 git branch git-checkout git-stash git-reflog

这个答案告诉我们如何 checkout 到上一个分支,并有助于解释 @{-1}:https://stackoverflow.com/a/7207542/3150057

如果我在更改分支之前存储了一些代码并且现在正在考虑处理存储,那么之前的分支很重要。

有没有一种方法可以快速查看上一个分支的名称,而无需搜索 git reflog show 以获取最新的 checkout: moving from foo to bar 条目?


更多信息:

这是我忘记以前工作环境的解决方案,这种情况通常发生在午餐回来之后。

git rev-parse @{-1} 显示将由 git checkout - check out 的分支的 HEAD 提交,但不显示分支名称。

git branch --contains @{-1} 将列出包含该提交的每个分支。

将带有该提交的分支列为 HEAD 会很有帮助,因为它可以帮助我想起我以前的工作环境,但我不确定该怎么做。

最佳答案

如果你只想要名字,你可以使用:

git name-rev $(git rev-parse @{-1}) --name-only

例如:

$ git checkout mybranch
$ git checkout master
$ git name-rev $(git rev-parse @{-1}) --name-only
> mybranch

它比接受的答案更可取,因为它不在名称中显示“头”,因此它可以与其他 git 命令链接。

关于git - 有没有办法输出之前的git分支名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40424928/

相关文章:

git - 如何在Git/bitbucket中实现 'pre-checkout' hook?

Git 无法锁定 ref 'HEAD'

git - 导致git merge 冲突的原因和案例有哪些?

git - 我可以将 git blame 配置为始终忽略某些提交吗?想要一劳永逸地修复 git blame

git 分支删除 - HOOK

git - 如何处理分离头中的提交

c# - 使用 GitHub API 在一次提交中编辑多个文件

Git 如何 : pull diff between branches

git - 在不更改分支的情况下查看不同 Git 分支中的文件

Git pushd 和 popd?即 checkout 最后状态