我刚刚参加了什么git分支?

时间:2017-07-28 14:57:43

标签: git

我的工作流程通常包含以下内容:

  • 致力于长期功能分支(称之为' A')
  • 签出主人并制作修补程序分支(称之为' B')
  • 推送我的修补程序
  • 然后我忘记了之前我正在做什么分支...

是否有任何git历史可以告诉我,我之前处理的事情是分支A?

4 个答案:

答案 0 :(得分:6)

尝试:

git reflog

将列出所有最近改变了某些内容的行为,因此结帐,退款,拉取,推送等等。

它还包括所有提交ID,例如,如果您执行了十几个commit --amend,则可以跳回到中间的一个。

答案 1 :(得分:2)

正如gitrevisions中所述,语法@{-number}指的是签出之前发生的分支。这使用 reflogs ,特别是HEAD的reflog;见Duncan's answer

(在您的特定示例中,您需要@{-1}。对于git checkout,您可以将其缩写为git checkout -,但这仅适用于git checkout。)

答案 2 :(得分:0)

尝试:

git branch --sort=-committerdate

git for-each-ref --sort=-committerdate refs/heads/

答案 3 :(得分:0)

git checkout -

转到之前使用的分支

我还设置了这个别名,用于打印我工作过的最后10个分支:

[alias]
    recent = for-each-ref --count=10 --sort=-committerdate refs/heads/ --format='%(refname:short) %(committerdate:relative)'