Files
vito/app/SSH/OS/Git.php
Saeed Vaziry 131b828807 Plugins base (#613)
* wip

* wip

* cleanup

* notification channels

* phpstan

* services

* remove server types

* refactoring

* refactoring
2025-06-14 14:35:18 +02:00

57 lines
1.3 KiB
PHP

<?php
namespace App\SSH\OS;
use App\Exceptions\SSHError;
use App\Models\Site;
class Git
{
/**
* @throws SSHError
*/
public function clone(Site $site): void
{
$site->server->ssh($site->user)->exec(
view('ssh.git.clone', [
'host' => str($site->getFullRepositoryUrl())->after('@')->before('-'),
'repo' => $site->getFullRepositoryUrl(),
'path' => $site->path,
'branch' => $site->branch,
'key' => $site->getSshKeyName(),
]),
'clone-repository',
$site->id
);
}
/**
* @throws SSHError
*/
public function checkout(Site $site): void
{
$site->server->ssh($site->user)->exec(
view('ssh.git.checkout', [
'path' => $site->path,
'branch' => $site->branch,
]),
'checkout-branch',
$site->id
);
}
/**
* @throws SSHError
*/
public function fetchOrigin(Site $site): void
{
$site->server->ssh($site->user)->exec(
view('ssh.git.fetch-origin', [
'path' => $site->path,
]),
'fetch-origin',
$site->id
);
}
}