Cvičení – nahrání projektu na GitHub

Dokončeno

Úložiště můžete importovat do GitHubu pomocí nástroje GitHub Importer, příkazového řádku nebo externích nástrojů pro migraci.

Informace o nástroji GitHub Importer

Pokud máte zdrojový kód v Subversion, Mercurial, Správa verzí Team Foundation (TFVC) nebo jiném úložišti Git, můžete ho přesunout na GitHub pomocí GitHub Importeru. GitHub Importer je nástroj, který rychle importuje úložiště zdrojového kódu, včetně potvrzení a historie revizí, do GitHubu za vás.

Během importu můžete v závislosti na importu provést některé z následujících úloh v závislosti na systému správy verzí, ze kterých importujete. Ověřte se pomocí vzdáleného úložiště, aktualizujte autora potvrzení, importujte úložiště s velkými soubory nebo odeberte velké soubory, pokud nechcete používat úložiště Git Large File Storage.

Akce importu Subversion Rtuťovitý TFVC Git
Ověřování pomocí vzdáleného úložiště X X X X
Aktualizace přisuzování autora potvrzení X X X
Přesun velkých souborů do úložiště Git Large File Storage X X X
Odebrání velkých souborů z úložiště X X X

Import úložiště pomocí nástroje GitHub Importer

Pokud máte projekt hostovaný v jiném systému správy verzí, můžete ho automaticky importovat do GitHubu pomocí nástroje GitHub Importer. GitHub Importer není vhodný pro všechny importy. Pokud je například váš existující kód hostovaný v privátní síti, náš nástroj k němu nemá přístup. V těchto případech doporučujeme importovat pomocí příkazového řádku pro úložiště Git nebo externího nástroje pro migraci zdrojového kódu pro projekty importované z jiných systémů správy verzí.

Pokud chcete při importu odpovídat potvrzením ve vašem úložišti uživatelským účtům GitHubu autorů. Nejprve se před zahájením importu ujistěte, že každý přispěvatel do vašeho úložiště má účet GitHubu.

Úložiště a jednotlivé soubory podléhají omezením velikosti. Další informace najdete v tématu O velkých souborech na GitHubu.

Pokud chcete importovat úložiště, postupujte takto:

  1. V pravém horním rohu libovolné stránky vyberte +a pak vyberte Importovat úložiště.

    Snímek obrazovky s tlačítkem importovat úložiště

  2. V části Adresa URL klonu vašeho starého úložiště zadejte adresu URL projektu, který chcete importovat.

    Snímek obrazovky s textovým polem adresy URL starého úložiště

  3. Zvolte svůj uživatelský účet nebo organizaci, které má úložiště vlastnit, a pak zadejte název úložiště na GitHubu.

    Snímek obrazovky s novým názvem vlastníka úložiště importu

  4. Určete, jestli má být nové úložiště veřejné nebo soukromé. Další informace najdete v tématu Nastavení viditelnosti úložiště.

    Snímek obrazovky s veřejnými nebo privátními možnostmi nového úložiště

  5. Zkontrolujte zadané informace a pak vyberte Zahájit import.

    Snímek obrazovky s tlačítkem začít importovat pro nový import úložiště

  6. Pokud byl starý projekt chráněný heslem, zadejte přihlašovací údaje pro tento projekt a pak vyberte Odeslat.

    Snímek obrazovky s umístěním pro zadání přihlašovacích údajů importéru starého úložiště

  7. Pokud je na adrese URL klonu vašeho starého projektu hostovaných více projektů, zvolte projekt, který chcete importovat, a pak vyberte Odeslat.

    Snímek obrazovky s výběrem projektů nalezených na stejné adrese URL dovozce projektů.

  8. Pokud váš projekt obsahuje soubory větší než 100 MB, zvolte, jestli chcete importovat velké soubory pomocí úložiště Git Large File Storage, a pak vyberte Pokračovat.

    Snímek obrazovky se soubory vhodnými pro import do úložiště Git Large File Storage

Po úplném importu úložiště obdržíte e-mail.

Aktualizace přisuzování autora potvrzení pomocí nástroje GitHub Importer

Během importu můžete shodovat potvrzení ve vašem úložišti s účtem GitHub autora potvrzení. GitHub Importer vyhledá uživatele GitHubu, jejichž e-mailové adresy odpovídají autorům potvrzení v úložišti, které importujete. Pak můžete k autorovi připojit potvrzení pomocí jejich e-mailové adresy nebo uživatelského jména autora na GitHubu.

Aktualizace autorů potvrzení

Pokud chcete aktualizovat autora potvrzení, postupujte takto:

  1. Po importu úložiště vyberte na stránce stavu importu možnost Přiřadit autory.

    Snímek obrazovky tlačítka pro přiřazení autorů

  2. Vedle autora, jehož informace chcete aktualizovat, vyberte Připojit.

    Snímek obrazovky s procesem vytvoření potvrzení připojení

  3. Zadejte e-mailovou adresu nebo uživatelské jméno autora na GitHubu a stiskněte Enter.

Přiřazení potvrzení uživateli GitHubu s veřejnou e-mailovou adresou

Pokud má autor potvrzení v importovaném úložišti přidružený účet GitHubu k e-mailové adrese, kterou použil k vytvoření potvrzení, a nenastaví svoji potvrzovací e-mailovou adresu jako soukromou. Potom Nástroj GitHub Importer odpovídá e-mailové adrese přidružené k potvrzení k veřejné e-mailové adrese přidružené k účtu GitHub a přiřadí potvrzení k účtu GitHub.

Přiřazení potvrzení uživateli GitHubu bez veřejné e-mailové adresy

Pokud autor potvrzení v importovaném úložišti nenastaví veřejnou e-mailovou adresu v profilu GitHubu nebo nastaví e-mailovou adresu potvrzení jako soukromou. Nástroj GitHub Importer pak nemusí odpovídat e-mailové adrese přidružené k potvrzení s účtem GitHub.

Autor potvrzení může tento problém vyřešit nastavením jeho e-mailové adresy jako soukromé. Jejich potvrzení jsou následně přiřazena <username>@users.noreply.github.coma importovaná potvrzení jsou přidružena k jejich účtu GitHub.

Přiřazení potvrzení pomocí e-mailové adresy

Pokud e-mailová adresa autora není přidružená ke svému účtu GitHubu, může po importu přidat adresu ke svému účtu a potvrzení se správně přiřazují.

Pokud autor nemá účet GitHubu, GitHub Importer přiřadí jejich potvrzení na e-mailovou adresu přidruženou k potvrzením.

Import úložiště GitHub pomocí příkazového řádku

Pokud GitHub Importer není vhodný pro vaše účely, například pokud je váš existující kód hostovaný v privátní síti, doporučujeme importovat pomocí příkazového řádku.

Než začnete, ujistěte se, že víte:

  • Vaše uživatelské jméno GitHubu
  • Adresa URL klonu pro externí úložiště, například https://external-host.com/user/repo.git nebo git://external-host.com/user/repo.git (možná s user@ před external-host.com názvem domény)

Pro účely demonstrací používáme:

  • Externí účet s názvem ext-user
  • Externí hostitel Git s názvem https://external-host.com
  • Osobní uživatelský účet GitHubu s názvem ghuser
  • Úložiště v GitHub.com pojmenovaném úložišti.git

Při importu externího úložiště postupujte takto:

  1. Vytvořte nové úložiště na GitHubu. Do tohoto nového úložiště importujete externí úložiště Git.

  2. Vytvořte "bezvýsledný" klon úložiště pomocí adresy URL externího klonování. Na příkazovém řádku zadejte následující příkaz. Tento příkaz vytvoří úplnou kopii dat, ale bez pracovního adresáře pro úpravy souborů a zajistí čistý a čerstvý export všech starých dat.

    $ git clone --bare https://external-host.com/ext-user/repo.git
    #Makes a bare clone of the external repository in a local directory 
    
  3. Nasdílení místně naklonovaného úložiště do GitHubu pomocí možnosti zrcadlení, které zajistí, že se všechny odkazy, jako jsou větve a značky, zkopírují do importovaného úložiště.

    $ cd repo.git
    $ git push --mirror https://github.com/ghuser/repo.git
    #Pushes the mirror to the new repository on GitHub.com 
    
  4. Odeberte dočasné místní úložiště.

    $ cd ..
    $ rm -rf repo.git 
    

Přidání místně hostovaného kódu do GitHubu

Pokud máte existující zdrojový kód nebo úložiště uložená místně v počítači nebo privátní síti, můžete je přidat do GitHubu zadáním příkazů do terminálu. Příkazy Gitu můžete zadat přímo nebo pomocí rozhraní příkazového řádku GitHubu.

Rozhraní příkazového řádku GitHubu je opensourcový nástroj pro použití GitHubu z příkazového řádku vašeho počítače. Rozhraní příkazového řádku GitHubu může zjednodušit proces přidání existujícího projektu do GitHubu pomocí příkazového řádku. Další informace o rozhraní příkazového řádku GitHubu najdete v tématu o rozhraní příkazového řádku GitHubu.

Přidání místního úložiště do GitHubu pomocí rozhraní příkazového řádku GitHubu

Pomocí následujícího postupu přidejte místní úložiště pomocí rozhraní příkazového řádku GitHubu:

  1. Na příkazovém řádku přejděte do kořenového adresáře projektu.

  2. Inicializuje místní adresář jako úložiště Git.

    git init -b main
    
  3. Připravte a potvrďte všechny soubory v projektu.

    git add . && git commit -m "initial commit"
    
  4. K vytvoření úložiště pro váš projekt na GitHubu gh repo create subcommandpoužijte příkaz . Po zobrazení výzvy vyberte Nasdílení existujícího místního úložiště do GitHubu a zadejte požadovaný název úložiště. Pokud chcete, aby váš projekt patřil do organizace místo vašeho uživatelského účtu, zadejte název organizace a název projektu.organization-name/project-name

  5. Postupujte podle interaktivních výzev. Pokud chcete přidat vzdálené úložiště a odeslat ho, potvrďte ano , když se zobrazí výzva k přidání vzdáleného úložiště a nasdílení potvrzení do aktuální větve.

  6. Pokud chcete případně přeskočit všechny výzvy, zadejte cestu k úložišti příznakem --source a předejte příznak viditelnosti (--public, --privatenebo --internal). Například gh repo create --source=. --public. Zadejte vzdálený s příznakem --remote . Potvrzení odešlete tak, že --push předáte příznak. Další informace o možnýchargumentch

Přidání místního úložiště do GitHubu pomocí Gitu

Pokud chcete přidat místní úložiště pomocí Gitu, postupujte takto:

  1. Vytvořte nové úložiště na GitHub.com. Abyste se vyhnuli chybám, inicializujte nové úložiště pomocí README, licence nebo gitignore files. Tyto soubory můžete přidat po nasdílení projektu do GitHubu.

    Snímek obrazovky s vytvořením nového úložiště

  2. Otevřete Git Bash.

  3. Změňte aktuální pracovní adresář na místní projekt.

  4. Inicializuje místní adresář jako úložiště Git.

    $ git init -b main
    
  5. Přidejte soubory do nového místního úložiště. Tento příkaz je také připraví pro první potvrzení.

    $ git add .
    # Adds the files in the local repository and stages them for commit. To unstage a file, use 'git reset HEAD YOUR-FILE'.
    
  6. Potvrďte soubory, které jsou připravené v místním úložišti.

    $ git commit -m "First commit"
    # Commits the tracked changes and prepares them to be pushed to a remote repository. To remove this commit and modify the file, use 'git reset --soft HEAD~1' and commit and add the file again.
    
  7. V horní části úložiště na stránce Rychlé nastavení GitHub.com vyberte tlačítko Kopírovat a zkopírujte adresu URL vzdáleného úložiště.

    Kopírování URL vzdáleného úložiště pomocí snímku obrazovky: rychlé nastavení

  8. Do příkazového řádku přidejte adresu URL vzdáleného úložiště. Do tohoto umístění se nasdílí vaše místní úložiště.

    $ git remote add origin <REMOTE_URL> 
    # Sets the new remote
    $ git remote -v
    # Verifies the new remote URL
    
  9. Nasdílejte změny v místním úložišti do GitHub.com.

    $ git push origin main
    # Pushes the changes in your local repository up to the remote repository you specified as the origin
    

Nástroje pro migraci zdrojového kódu

K přesunutí projektů na GitHub můžete použít externí nástroje. K importu projektů z subversion, Mercurialu, Team Foundation Version Control (TFVC) nebo z jiného úložiště Git doporučujeme použít GitHub Importer . Tyto externí nástroje můžete také použít k převodu projektu na Git.

Import z Subversion

V typickém prostředí Subversion je v jednom kořenovém úložišti uloženo více projektů. Na GitHubu se každý z těchto projektů obvykle mapuje na samostatné úložiště Git pro uživatelský účet nebo organizaci. Doporučujeme importovat každou část úložiště Subversion do samostatného úložiště GitHub, pokud:

  • Spolupracovníci se musí k této části projektu podívat nebo potvrdit odděleně od ostatních částí.
  • Chcete, aby různé části měly svá vlastní přístupová oprávnění.

Pro převod úložišť Subversion na Git doporučujeme tyto nástroje:

Import z Mercurialu

Pro převod úložišť Mercurial na Git doporučujeme hg-fast-export .

Import z TFVC

Pro přesun změn mezi TFVC a Gitem doporučujeme git-tfs .

Další informace o přechodu z TFVC (centralizovaného systému správy verzí) na Git najdete v tématu Migrace do Gitu z centralizované správy verzí.