---
title: "Vytváranie repozitárov — Git for Laravel | Roundly"
description: "Vytvárajte repozitáre pod používateľom, v organizácii alebo zo šablóny, s úvodným commitom a zvolenou predvolenou vetvou."
url: https://roundly-consulting.com/sk/open-source/navody/git-for-laravel/vytvaranie-repozitarov
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Git for Laravel](https://roundly-consulting.com/sk/open-source/navody/git-for-laravel.md)

# Vytváranie repozitárov

createRepository() zvolí cestu podľa vstupu: template vygeneruje repozitár zo šablóny (POST /repos/{template}/generate), owner ho vytvorí v danej organizácii (POST /orgs/{owner}/repos) a bez oboch vznikne pod prihláseným účtom (POST /user/repos):

```php
use RoundlyConsulting\Git\Dto\Input\NewRepository;

$repo = Git::github()->createRepository(new NewRepository(
    name: 'widget-for-laravel',
    private: true,
    owner: 'acme',
    template: 'acme/package-template',
));
```

## Úvodný commit a predvolená vetva

Commit má hneď po vytvorení len repozitár zo šablóny — zvyšné dve cesty vytvoria prázdny repozitár, pokiaľ neodovzdáte autoInit: true, a klonovanie prázdneho repozitára s --branch zlyhá. defaultBranch sa uplatní premenovaním úvodnej vetvy po vytvorení, pretože GitHub pri vytváraní default\_branch neprijíma; preto vyžaduje autoInit alebo šablónu:

```php
// An empty repository cannot be cloned with --branch — ask for an initial commit:
$repo = Git::github()->createRepository(new NewRepository(
    name: 'widget',
    private: true,
    description: 'Internal widget service',
    autoInit: true,
    defaultBranch: 'develop',   // requires autoInit or a template
));
```

## Oprávnenia v organizácii

Vytvorenie v organizácii vyžaduje, aby GitHub App mala oprávnenie organizácie administration: write — schvaľuje ho vlastník organizácie na existujúcej inštalácii. Token naň vydajte až v momente potreby a nechajte ho zaniknúť:

```php
use RoundlyConsulting\Git\Dto\Credentials\GithubAppToken;
use RoundlyConsulting\Git\Dto\Input\InstallationTokenScope;

$credentials = GithubAppToken::for($appId, $installationId, $privateKey)
    ->forScope(InstallationTokenScope::administrationOnly());

Git::github($credentials)->createRepository(new NewRepository(
    name: 'widget',
    owner: 'acme',
    autoInit: true,
));
```

Keď GitHub vytvorenie odmietne s 403 bez známok obmedzenia rýchlosti, balík vyhodí InvalidCredentialsException s názvom chýbajúceho oprávnenia namiesto nejasného „Resource not accessible by integration“ od GitHubu.

## Na GitLabe a Bitbuckete

- GitLab mapuje owner na číselné namespace\_id (nečíselný owner vyhodí InvalidArgumentException), autoInit na initialize\_with\_readme a defaultBranch prijíma priamo pri vytvorení.
- Bitbucket mapuje owner na workspace — zadajte ho. Nemá možnosť úvodného commitu, preto autoInit alebo defaultBranch vyhodí FeatureNotSupportedException, namiesto aby sa potichu zahodili.
- Generovanie zo šablóny je len na GitHube, inde vyhodí FeatureNotSupportedException.

## Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

[Ďalšie spôsoby podpory vrátane kryptomien](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/git-for-laravel.md)
