2

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

  • b-1-1
  • b-2
  • b-1-1
  • b-1
  • 掌握

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

4

2 回答 2

4

看看git reflog以检查HEAD头寸的历史。

还有git reflog <branch>一个特定分支的历史。

在此处查看文档。

于 2020-10-25T08:28:03.633 回答
2

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

例如,如果您:

  • 签出现有的分支分支 ( 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都是可能的值,查看文档和这个 SO 线程

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

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

于 2020-10-25T08:34:05.510 回答