4040from git .config import GitConfigParser
4141from git .objects .commit import Actor
4242from git .refs .log import RefLogEntry
43+ from git .refs .reference import Reference
4344from git .repo import Repo
4445
4546
@@ -404,7 +405,7 @@ def object(self) -> AnyGitObject:
404405def object (self ,object :Union [AnyGitObject ,"SymbolicReference" ,str ])-> "SymbolicReference" :
405406return self .set_object (object )
406407
407- def _get_reference (self )-> "SymbolicReference " :
408+ def _get_reference (self )-> "Reference " :
408409"""
409410 :return:
410411 :class:`~git.refs.reference.Reference` object we point to
@@ -416,7 +417,7 @@ def _get_reference(self) -> "SymbolicReference":
416417sha ,target_ref_path = self ._get_ref_info (self .repo ,self .path )
417418if target_ref_path is None :
418419raise TypeError ("%s is a detached symbolic reference as it points to %r" % (self ,sha ))
419- return self .from_path (self .repo ,target_ref_path )
420+ return cast ( "Reference" , self .from_path (self .repo ,target_ref_path ) )
420421
421422def set_reference (
422423self ,
@@ -502,7 +503,7 @@ def set_reference(
502503
503504# Aliased reference
504505@property
505- def reference (self )-> "SymbolicReference " :
506+ def reference (self )-> "Reference " :
506507return self ._get_reference ()
507508
508509@reference .setter