GNU/Linux >> Znalost Linux >  >> Linux

Migrujte repozitáře mezi instancemi Gitlabu

Nedávno jsem migroval z gitolite na gitlab a oficiální úlohu rake gitlab:import:repos pracoval pro mě. Používám gitlab 6.1.0 (82f3446). Zde je to, co jsem udělal:

  • rsync holé repozitáře z gitolite na repositories/{group}/ . Nezapomeňte nahradit {repository} s názvem gitolite repo a změňte název hostitele vašeho gitlab serveru.

    rsync -rth --progress repositories/{repository}.git \
    [email protected]:/home/git/repositories/{group}/
    

    Zde {group} je název skupiny uživatelů, do které chcete úložiště přidat. Pokud žádnou konkrétní skupinu nemáte, zvolte root jako název skupiny.

  • Opravit oprávnění – nutné pouze v případě rsync uživatel není git :

    sudo chown -R git:git repositories/{group}/
    
  • cd ~/gitlab

  • Spusťte úlohu rake pro import všech nových repozitářů:

    bundle exec rake gitlab:import:repos RAILS_ENV=production
    

Nyní, když se přihlásíte jako správce, najdete nový projekt přidaný.

Další informace naleznete v části „Import holých repozitářů do instance projektu GitLab“ pod http://{your-gitlab-server}/help/raketasks .

Ve vašem případě se můžete přihlásit ke svému starému systému TKL a synchronizovat všechna holá úložiště do nové instance a poté importovat.


Jednou z možností by bylo:

  1. Klonujte staré repo z gitlabu na vývojářský počítač.
  2. Vytvořte prázdné repo v novém gitlabu.
  3. Přidejte nové úložiště jako vzdálené na vývojářském počítači.
  4. Přesuňte vše zpět do nového úložiště.
  5. Odeberte staré úložiště ze seznamu vzdálených úložišť.

Chcete-li vytvořit dálkové ovládání s názvem newRepo, postupujte takto:git remote add newRepo gitlab.localhost.com:User/newRepo.git (adresu URL na konci nahraďte adresou svého repo)


Udělal jsem to prakticky následujícím způsobem po přečtení odpovědi ChrisA, což mě trochu bolelo, jak to udělat prakticky. Příklad zkopíruje repo z githubu do gitlabu, aby byl zdroj a cíl trochu jasnější.

  1. Naklonujte staré repo z githubu do dev stroje (který vytvoří holé repo):

    $ git clone --mirror [email protected]:me/myrepo.git
    
  2. Vytvořte prázdné repo na novém gitlabu.

  3. Přidejte nové úložiště jako vzdálené na vývojářském počítači.

    $ cd myrepo.git
    $ git remote add newRepo [email protected]:me/myrepo.git
    
  4. Přesuňte vše zpět do nového úložiště.

    $ git push --mirror newRepo
    

To je ono.

Tímto způsobem zkopíroval všechny větve a značky do nového cíle.

Nyní můžete odstranit klonované holé repo z vašeho dev počítače.


Linux
  1. Otevřete soubor přímo ze soukromého úložiště GitLab

  2. git vynutí obnovení indexu po přepnutí mezi okny a linuxem

  3. Přidání Git repo a větvení do stavového řádku Tmux

  1. Jak GNOME používá Git

  2. Automatické dokončování Git?

  3. Jaký je rozdíl mezi Git Switch a Checkout?

  1. Nainstalujte GitLab na CentOS 7

  2. Nainstalujte GitLab na Debian 10

  3. Nainstalujte GitLab na Ubuntu 18.04