code: protected function fetchRootIdentifier()
      {
          if ($this->repoData) {
              return;
          }
  
          $repoDataUrl = $this->getApiUrl() . '/repos/'.$this->owner.'/'.$this->repository;
  
          $this->repoData = JsonFile::parseJson($this->getContents($repoDataUrl, true), $repoDataUrl);
          if (null === $this->repoData && null !== $this->gitDriver) {
              return;
          }
  
          $this->owner = $this->repoData['owner']['login'];
          $this->repository = $this->repoData['name'];
  
          $this->isPrivate = !empty($this->repoData['private']);
          if (isset($this->repoData['default_branch'])) {
              $this->rootIdentifier = $this->repoData['default_branch'];
          } elseif (isset($this->repoData['master_branch'])) {
              $this->rootIdentifier = $this->repoData['master_branch'];
          } else {
              $this->rootIdentifier = 'master';
          }
          $this->hasIssues = !empty($this->repoData['has_issues']);
      }
docs: Fetch root identifier from GitHub
  
  @throws TransportException