Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当在git中列出远程标记时,"^{};意味着什么?_Git_Github - Fatal编程技术网

当在git中列出远程标记时,"^{};意味着什么?

当在git中列出远程标记时,"^{};意味着什么?,git,github,Git,Github,当我使用git ls remote--tags列出远程标记时,得到的响应如下: 45d3d8f01f5e07a0e2728012b3d50989e5971cb2 refs/tags/v1.4.6.7 c742bfaa5d2140bbbed5bb9202b30cabcb9eb531 refs/tags/v1.4.6.7^{} a745b6d8997803e1af823582885ab17f0dba2d8e refs/tags/v1.4.6.8 b867af

当我使用
git ls remote--tags
列出远程标记时,得到的响应如下:

45d3d8f01f5e07a0e2728012b3d50989e5971cb2        refs/tags/v1.4.6.7
c742bfaa5d2140bbbed5bb9202b30cabcb9eb531        refs/tags/v1.4.6.7^{}
a745b6d8997803e1af823582885ab17f0dba2d8e        refs/tags/v1.4.6.8
b867af5cb9469f6cfc139d355a5e7e4fc9b55a12        refs/tags/v1.4.6.8^{}
^{}
表示什么(以及我应该关注什么)?

您看到的是一个“注释”标记及其指向的commit(
^
在本例中表示第一个直接父级)。e、 g.在您的案例中,
C742BFAA54140BBBED5BB9202B30CABCB9EB531
refs/tags/v1.4.6.7
的父项

下面是一个完整的示例:

zrrbite@ZRRBITE MINGW64 /d/dev/git/reftest                                                    
$ git init                                                                                    
Initialized empty Git repository in D:/dev/git/reftest/.git/                                  
                                                                                          
zrrbite@ZRRBITE MINGW64 /d/dev/git/reftest (master)                                           
$ touch test                                                                                    
                                                                                          
zrrbite@ZRRBITE MINGW64 /d/dev/git/reftest (master)                                           
$ git add-commit -m "hej"                                                                     
[master (root-commit) d792079] hej                                                            
 1 file changed, 1 insertion(+)                                                               
 create mode 100644 test                                                                      
                                                                                          
zrrbite@ZRRBITE MINGW64 /d/dev/git/reftest (master)                                           
$ git clone --bare . /d/dev/git/reftest_bare                                                  
Cloning into bare repository 'D:/dev/git/reftest_bare'...                                     
done.                                                                                         
                                                                                          
zrrbite@ZRRBITE MINGW64 /d/dev/git/reftest (master)                                           
$ git remote add origin ../reftest_bare/                                                      
                                                                                          
zrrbite@ZRRBITE MINGW64 /d/dev/git/reftest (master)                                           
$ git fetch origin                                                                            
From ../reftest_bare                                                                          
 * [new branch]      master     -> origin/master                                              
                                                                                          
zrrbite@ZRRBITE MINGW64 /d/dev/git/reftest (master)                                           
$ git branch -u origin/master                                                                 
Branch 'master' set up to track remote branch 'master' from 'origin'.                         
                                                                                          
zrrbite@ZRRBITE MINGW64 /d/dev/git/reftest (master)                                           
$ git tag -a 1.0 -m "test"                                                                    
                                                                                          
zrrbite@ZRRBITE MINGW64 /d/dev/git/reftest (master)                                           
$ git push                                                                                    
Everything up-to-date                                                                         
                                                                                          
zrrbite@ZRRBITE MINGW64 /d/dev/git/reftest (master)                                           
$ git push --tags                                                                             
Enumerating objects: 1, done.                                                                 
Counting objects: 100% (1/1), done.                                                           
Writing objects: 100% (1/1), 158 bytes | 158.00 KiB/s, done.                                  
Total 1 (delta 0), reused 0 (delta 0)                                                         
To ../reftest_bare/                                                                           
 * [new tag]         1.0 -> 1.0                                                               
                                                                                          
zrrbite@ZRRBITE MINGW64 /d/dev/git/reftest (master)                                           
$ git ls-remote --tags                                                                        
From ../reftest_bare/                                                                         
79d1f428cb16028a2f8b0e0599231eae2ba76b0b        refs/tags/1.0                                 
d7920790cb316067be54ec15e4a7d27265c08fc4        refs/tags/1.0^{}                              
                                                                                          
zrrbite@ZRRBITE MINGW64 /d/dev/git/reftest (master)                                           
$ git show 79d1f428cb16028a2f8b0e0599231eae2ba76b0b                                           
tag 1.0                                                                                       
Tagger: Martin Kjeldsen <>                                                  
Date:   Thu Oct 8 20:28:14 2020 +0200                                                         
                                                                                          
test                                                                                          
                                                                                          
commit d7920790cb316067be54ec15e4a7d27265c08fc4 (HEAD -> master, tag: 1.0,     origin/master)     
Author: Martin Kjeldsen <>                                                  
Date:   Thu Oct 8 20:27:12 2020 +0200                                                         
                                      
投票关闭这个(尽管这是我问的问题)以支持stackoverflow.com/a/15472310/558639它不是第一个父级,而是剥离:
^{}
类似于
^{commit}
,除非注释标记指向,例如,一个blob,你不会得到错误。
zrrbite@ZRRBITE MINGW64 /d/dev/git/reftest (master)
$ git tag test

zrrbite@ZRRBITE MINGW64 /d/dev/git/reftest (master)
$ git push origin test
Total 0 (delta 0), reused 0 (delta 0)
To ../reftest_bare/
 * [new tag]         test -> test

zrrbite@ZRRBITE MINGW64 /d/dev/git/reftest (master)
$ git ls-remote --tags
From ../reftest_bare/
79d1f428cb16028a2f8b0e0599231eae2ba76b0b        refs/tags/1.0
d7920790cb316067be54ec15e4a7d27265c08fc4        refs/tags/1.0^{}
d7920790cb316067be54ec15e4a7d27265c08fc4        refs/tags/test