/** * @param Repository $repository * * @return \GitWrapper\GitWorkingCopy */ public function checkoutGitHubPages(Repository $repository) { $isProjectPage = !preg_match('#\\.github\\.io$#', $repository->getPackageName()); $branch = $isProjectPage ? 'gh-pages' : 'master'; $directory = $this->getGitHubPagesDirectory($repository); $git = $repository->getGitWrapper()->workingCopy($directory); if (!$git->isCloned()) { $git->clone('git@github.com:' . $repository . '.git'); } $git->checkout($branch)->pull(); return $git; }