gpt4 book ai didi

git - git 修订格式 refname@{n} 和 rev~n 有什么区别

转载 作者:太空狗 更新时间:2023-10-29 14:08:05 26 4
gpt4 key购买 nike

man page做了如下区分

引用 man gitrevisions ...

For example master@{1} is the immediate prior value of master while master@{5} is the 5th prior value of master.

A suffix ~<n> to a revision parameter means the commit object that is the <n>th generation grand-parent of the named commit object, following only the first parents.

结束引用

我知道这些不同格式的概括会导致不同的使用模式,但术语的差异(例如“先验值”与“祖 parent ”)让我认为可能存在一些差异。

master@{n} 和 master~n 一样吗?

如果这是一个经常被问到的问题,我们深表歉意,但这种事情很难用谷歌搜索。

最佳答案

不,它们不一样。要了解原因,您必须了解 reflog。将 reflog 视为一个巨大的日志表,其中包含您的存储库 中的分支过去指向的所有提交(如果您愿意,可以称为“先前值”)。

那就是 the reflog ,它允许您返回到分支的过去值。 master@{5} 是 master 用来指向 5 个事件之前的内容(无论这些事件是您提交的还是 master 的重置等)

其他语法 master^5master~5 更符合您的期望。这些处理 master 当前指向的提交的父级。

关于git - git 修订格式 refname@{n} 和 rev~n 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19894466/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com