我注意到有2个HEAD:
当我使用时git show-ref HEAD,它只给我这个:
ce0762c073b407d794f54f0b5d2a50375fdcb609 refs/remotes/origin/HEAD
Run Code Online (Sandbox Code Playgroud)
当我使用git rev-parse HEAD它时,它给了我.git\HEAD的值:
a758e523fe40e799194878bac567b7f4b8eec2b9
Run Code Online (Sandbox Code Playgroud)
为什么Git使用2个不同的命令来显示HEAD?任何有力的理由?
git-show-ref显示存储库中的引用列表及其提交ID.应该叫它git-show-refs.它比直接引用目录中的文件更.git受欢迎.
当你说git show-ref HEAD你不要求时HEAD.您要求的是列表中与模式匹配的任何引用HEAD.HEAD本身通常被过滤掉了,所以你得到了refs/remotes/origin/HEAD.您可以包括HEAD用--head.
$ git show-ref --head HEAD
f37beeea95f3b0e6b064f6d4b5f835a058e0568c HEAD
aa1124b89f38eed793e2b9f2d2b2ba5d80a27a20 refs/remotes/origin/HEAD
Run Code Online (Sandbox Code Playgroud)
所以你不应该用它git show-ref <ref>来查找引用.
git-rev-parse获取修订参数并返回提交ID.它旨在处理您可以引用提交的无数不同方式.例如...
$ git rev-parse --verify master
aa1124b89f38eed793e2b9f2d2b2ba5d80a27a20
$ git rev-parse --verify heads/master
aa1124b89f38eed793e2b9f2d2b2ba5d80a27a20
$ git rev-parse --verify refs/heads/master
aa1124b89f38eed793e2b9f2d2b2ba5d80a27a20
Run Code Online (Sandbox Code Playgroud)
git rev-parse --verify <ref> 是你应该用来查找引用的提交ID.
| 归档时间: |
|
| 查看次数: |
628 次 |
| 最近记录: |