是否有一种方法可以确定Git分支是何时创建的?我在我的repo中有一个分支,我不记得创建了它,我想也许看到创建时间戳会唤醒我的记忆。
当前回答
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之外,我还没有发现。
Use
git show --summary `git merge-base foo master`
如果您更愿意使用gitk在上下文中查看它,那么使用
gitk --all --select-commit=`git merge-base foo master`
(foo是你要找的分支的名称。)
这个命令显示了从main创建的分支dev的日期
$git reflog show --date=iso dev
$7a2b33d dev@{2012-11-23 13:20:28 -2100}: branch: Created from main
如果您想获得所有分支的详细信息
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
结合Andrew Sohn的回答(https://stackoverflow.com/a/14265207/1929406)
branchcreated=$(git reflog show --date=format:'%Y-%m-%d %H:%M:%S' --all | sed 's!^.*refs/!refs/!' | grep '/master' | tail -1| cut -d'{' -f 2| cut -d'}' -f 1 | xargs)
echo $branchcreated
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的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日志日期格式