Git 获取我所在分支的历史记录

Git get history of branches that i was in

我需要查看我使用的分支的历史记录。例如我有 4 个分支:master、b-1、b-2、b-1-1。分支“b-1-1”是分支“b-1”的子分支。首先我在主分支,然后在分支 b-1,然后在分支 b-1-1,然后在分支 b-2,然后再次在分支 b-1-1。我使用过的分支机构的历史如下所示:

是否可以在 git 中这样做?如果是,那么如何? 我试图检查 git 日志,但它不是我要搜索的内容。

查看 git reflog 以检查 HEAD 仓位的历史记录。

还有 git reflog <branch> 特定分支的历史记录。

检查文档 here

我认为您看不到哪个分支被签出以及在某种意义上您在问题中提出的顺序。 Branch 是一个指针,这个指针只有在你提交时才会改变。

例如,如果您:

  • 检查现有分支分支(git checkout abc)
  • 查看其日志 (git log -n 10)
  • 签出另一个现有分支 xyz (git checkout xyz)

然后 git 不会记得您正在签出 abc 分支

话虽如此,您可以使用此命令查看您在此期间完成的提交,比如最近 3 天:

git log --since="3 days ago" --author=<HERE_COMES_YOUR_NAME_IN_GIT> --all

这个--since参数可以很灵活,1 day ago,精确时间,1 week ago都是可能的值,查看文档还有this SO thread

另一个有趣的选项是使用(最基本的形式):git for-each-ref --sort=-committerdate refs/heads/

此命令将按降序打印所有分支中的所有提交。 SO 中已经有关于此的 thread,它提供了比我能做的更多的可能使用此命令的选项,所以请也检查一下。