gh-liu / myNote

0 stars 0 forks source link

`git`中的`revisions`是什么? #2

Open gh-liu opened 7 months ago

gh-liu commented 7 months ago

revision 通常是指commit对象,但是也是可以用来指向commit对象指向的tree对象和里面的blob对象。

gh-liu commented 7 months ago
  1. 完整哈希对象名(40位的16进制字符串),或者开头的字串(必须在当前仓库唯一)
  2. git describe的输出
  3. 符号引用名称,一种特殊的引用,不直接指向提交对象,而是指向另一个引用(在 .git/refs 下的文件),比如master通常指refs/heads/master, 还有HEAD, FETCH_HEAD, ORIG_HEAD,MERGE_HEAD等等
  4. @ 表示 HEAD
  5. 符号引用名称@{时间},比如master@{yesterday}, HEAD@{5 minutes ago}
  6. 符号引用名称@{数字<n>},比如前n个提交,比如master@{1}
  7. @{数字<n>}, 当前分支的前n个提交
  8. @{数字-<n>}, 前n个切换的提交
  9. <rev>^[<n>] 提交的第n个父提交
  10. <rev>~[<n>]前n个父提交
  11. :/<text> 提交信息中包含text的提交
  12. <rev>:<path> 提交中的tree对象或blob对象,也就是子文件夹或文件
  13. :[<n>:]<path> n为暂存区索引号,范围0-3,0代表index索引区;在merge的时候,1,2,3 分别代表共同组件、目标分支、来源分支