是否有一种方法可以确定Git分支是何时创建的?我在我的repo中有一个分支,我不记得创建了它,我想也许看到创建时间戳会唤醒我的记忆。
当前回答
如何通过Github GUI知道
我展示了所有的答案,没有人用UI给出答案。如果有人想看到分支是通过Github UI创建的。
进入洞察标签。 在侧栏中选择Network选项卡。
您可以看到分支的创建,如下所示
其他回答
语法: Git reflog——date=local | grep checkout: | grep ${current_branch} | tail -1
例子: Git reflog——date=local | grep checkout: | grep dev-2.19.0 | tail -1
结果: cc7a3a8ec HEAD@{Wed Apr 29 14:58:50 2020}: checkout:从dev-2.18.0移动到dev-2.19.0
如果您想获得所有分支的详细信息
for i in `git branch -r | tail -n +2 `;do git log --reverse $i|grep -A 2 -B 2 `echo $i | awk -F'origin/' '{print $2}'` |head -n 4; done
Use
git show --summary `git merge-base foo master`
如果您更愿意使用gitk在上下文中查看它,那么使用
gitk --all --select-commit=`git merge-base foo master`
(foo是你要找的分支的名称。)
我还不确定git命令,但我认为您可以在reflogs中找到它们。
.git/logs/refs/heads/<yourbranch>
我的文件中似乎有一个unix时间戳。
更新:在打印日志时,似乎有一个选项可以使用reflog历史而不是提交历史:
git log -g
您还可以跟踪此日志,回溯到创建分支的时候。Git日志显示的是提交的日期,而不是在reflog中创建条目的操作的日期。除了在上面的路径中查看实际的reflog之外,我还没有发现。
Pro Git§3.1 Git分支-什么是分支有一个很好的解释什么是Git分支
Git中的分支只是一个轻量级的指向[A]提交的移动指针。
由于分支只是一个轻量级指针,git没有明确的历史或创建日期的概念。“但是等一下,”我听到你说,“git当然知道我的分支历史!”嗯,算是吧。
如果您运行以下任一项:
git log <branch> --not master
gitk <branch> --not master
你会看到看起来像“你的分支的历史记录”,但实际上是一个从“分支”可以到达的提交列表,而从master不能到达。这为你提供了你想要的信息,但当且仅当你从未将'branch'合并回master,并且自创建以来从未将' master '合并到'branch'。如果你们已经合并,那么这段分歧的历史就会崩溃。
幸运的是,reflog通常包含您想要的信息,正如这里的各种其他答案所解释的那样。用这个:
git reflog --date=local <branch>
以显示分支的历史。该列表中的最后一个条目(可能)是您创建分支的点。
如果分支已经被删除,那么'branch'不再是一个有效的git标识符,但你可以使用这个来代替,它可能会找到你想要的:
git reflog --date=local | grep <branch>
或者在Windows cmd shell中:
git reflog --date=local | find "<branch>"
请注意,reflog不能在远程分支上有效工作,只能在您在本地工作过的分支上有效工作。
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- 在GitHub上有一个公共回购的私人分支?
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式