Git:@{}支持哪些格式?

3
我正在阅读git-book。它说,要显示您的HEAD两个月前指向哪些提交,请使用git show HEAD@{2.months.ago}

您可以使用@{}做一些其他有用的事情

  • 要查看您的分支my-branch昨天指向的位置,请执行git show my-branch@{yesterday}
  • 要查看您存储库的HEAD的第n个先前值,请使用git show HEAD@{n}

从上面可以看出,在git中,@{}支持不仅限于上述格式。

  • @{}支持哪些格式?
  • 上面的示例显示了2个月前的情况,假设我想查看2年4个月3天4分钟之前的情况或类似情况。是否有这种格式?
1个回答

2
“@{}” 在 Git 中支持哪些格式?
它还可以与以下格式一起使用:
# as you figures out git log
git log
git diff 
git stash stash
git reflog
git merge

还有许多命令使用了对HEAD或提交记录的引用。
这个概念是使用这种简写代替使用SHA-1。

例如:

上游简写

当你设置了一个跟踪分支时,你可以使用 @{upstream}@{u} 简写来引用它的上游分支。
因此,如果你在主分支上,并且它正在跟踪 origin/master,则你可以像这样说 git merge @{u} 而不是 git merge origin/master


上面的例子显示了2个月前的情况,假设我想查看2年4个月3天4分钟前的情况或类似的内容。有没有这样的格式?

没有这样严格的日期格式。你可以使用周、天等,但不可以组合得太复杂。如果你想这样做,你需要编写脚本。

git log 支持 --relative-date

--relative-date/ --date=relative
以相对格式(例如“2周前”)而不是完整日期格式显示日期。

更多信息:

https://git-scm.com/docs/git-log#git-log---dateltformatgt


谢谢@CodeWizard,你介意修改你的答案以适应我的第二个问题,或者给我提供一个链接吗? - Abhisek
“2.years.4.months.3.days” 这样的东西? - Abhisek
您可以获取毫秒级时间,并编写脚本以过滤所需日期。 - CodeWizard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接