Oefening: uw project uploaden naar GitHub
U kunt opslagplaatsen importeren in GitHub met behulp van GitHub Importer, de opdrachtregel of externe migratiehulpprogramma's.
Over GitHub Importer
Als u broncode hebt in Subversion, Mercurial, Team Foundation Version Control (TFVC) of een andere Git-opslagplaats, kunt u deze verplaatsen naar GitHub met behulp van GitHub Importer. GitHub Importer is een hulpprogramma waarmee u snel broncodeopslagplaatsen importeert, waaronder doorvoeringen en revisiegeschiedenis, naar GitHub voor u.
Tijdens een import kunt u, afhankelijk van het versiebeheersysteem waaruit u importeert, enkele van de volgende taken uitvoeren. Verifieer met uw externe opslagplaats, werk de naam van de auteur van de doorvoer bij, importeer opslagplaatsen met grote bestanden of verwijder grote bestanden als u Git Large File Storage niet wilt gebruiken.
| Importactie | Ondermijning | Kwikhoudend | TFVC | Git |
|---|---|---|---|---|
| Verifiëren met externe opslagplaats | X | X | X | X |
| Naamsvermelding van auteur doorvoeren bijwerken | X | X | X | |
| Grote bestanden verplaatsen naar Git Large File Storage | X | X | X | |
| Grote bestanden uit uw opslagplaats verwijderen | X | X | X |
Een opslagplaats importeren met GitHub Importer
Als u een project hebt dat wordt gehost op een ander versiebeheersysteem, kunt u het automatisch importeren in GitHub met behulp van het hulpprogramma GitHub Importer. GitHub Importer is niet geschikt voor alle importbewerkingen. Als uw bestaande code bijvoorbeeld wordt gehost in een particulier netwerk, heeft ons hulpprogramma geen toegang tot deze code. In dergelijke gevallen raden we u aan om te importeren met behulp van de opdrachtregel voor Git-opslagplaatsen of een extern hulpprogramma voor broncodemigratie voor projecten die zijn geïmporteerd uit andere versiebeheersystemen.
Als u de doorvoeringen in uw opslagplaats wilt koppelen aan de GitHub-gebruikersaccounts van de auteurs tijdens het importeren. Zorg er eerst voor dat elke bijdrager aan uw opslagplaats een GitHub-account heeft voordat u begint met importeren.
Opslagplaatsen en afzonderlijke bestanden zijn onderhevig aan groottelimieten. Zie Over grote bestanden op GitHub voor meer informatie.
Voer de volgende stappen uit om een opslagplaats te importeren:
Selecteer in de rechterbovenhoek van een pagina de optie +En selecteer vervolgens Opslagplaats importeren.
Typ onder 'De kloon-URL van uw oude opslagplaats' de URL van het project dat u wilt importeren.
Kies uw gebruikersaccount of een organisatie om eigenaar te zijn van de opslagplaats en typ vervolgens een naam voor de opslagplaats op GitHub.
Geef op of de nieuwe opslagplaats openbaar of privé moet zijn. Zie De zichtbaarheid van opslagplaatsen instellen voor meer informatie.
Controleer de gegevens die u hebt ingevoerd en selecteer vervolgens Importeren starten.
Als uw oude project is beveiligd met een wachtwoord, typt u de aanmeldingsgegevens voor dat project en selecteert u Verzenden.
Als er meerdere projecten worden gehost op de kloon-URL van uw oude project, kiest u het project dat u wilt importeren en selecteert u Verzenden.
Als uw project bestanden bevat die groter zijn dan 100 MB, kiest u of u de grote bestanden wilt importeren met Git Large File Storage en selecteert u Doorgaan.
Wanneer de opslagplaats volledig is geïmporteerd, ontvangt u een e-mail.
Naamsvermelding van auteur doorvoer bijwerken met GitHub Importer
Tijdens een import kunt u doorvoeringen in uw opslagplaats vergelijken met het GitHub-account van de auteur van de doorvoer. GitHub Importer zoekt naar GitHub-gebruikers waarvan de e-mailadressen overeenkomen met de auteurs van de doorvoeringen in de opslagplaats die u importeert. Vervolgens kunt u een doorvoering verbinden met de auteur met behulp van hun e-mailadres of de GitHub-gebruikersnaam van de auteur.
Auteurs van doorvoeren bijwerken
Volg deze stappen om een doorvoeringsauteur bij te werken:
Nadat u de opslagplaats hebt geïmporteerd, selecteert u op de pagina Status importeren de optie Overeenkomende auteurs.
Selecteer Verbinding maken naast de auteur waarvan u de gegevens wilt bijwerken.
Typ het e-mailadres of de GitHub-gebruikersnaam van de auteur en druk op Enter.
Doorvoeringen toewijzen aan een GitHub-gebruiker met een openbaar e-mailadres
Als een auteur van een doorvoering in uw geïmporteerde opslagplaats een GitHub-account heeft dat is gekoppeld aan het e-mailadres waarmee ze de doorvoeringen hebben gemaakt en ze hun e-mailadres voor doorvoeren niet instellen als privé. Vervolgens komt GitHub Importer overeen met het e-mailadres dat is gekoppeld aan de doorvoering naar het openbare e-mailadres dat is gekoppeld aan hun GitHub-account, en wordt de doorvoering aan het GitHub-account gekoppeld.
Doorvoeringen toewijzen aan een GitHub-gebruiker zonder een openbaar e-mailadres
Als de auteur van een doorvoering in uw geïmporteerde opslagplaats geen openbaar e-mailadres instelt op het GitHub-profiel of het e-mailadres voor doorvoeren instelt als privé. Vervolgens kan GitHub Importer mogelijk niet overeenkomen met het e-mailadres dat is gekoppeld aan de doorvoering met hun GitHub-account.
De auteur van het doorvoeren kan dit probleem oplossen door het e-mailadres in te stellen als privé. De doorvoeringen worden vervolgens toegewezen aan <username>@users.noreply.github.comen de geïmporteerde doorvoeringen zijn gekoppeld aan hun GitHub-account.
Doorvoeringen toewijzen met behulp van een e-mailadres
Als het e-mailadres van de auteur niet is gekoppeld aan zijn of haar GitHub-account, kunnen ze het adres toevoegen aan hun account na het importeren, en worden de commits correct toegewezen.
Als de auteur geen GitHub-account heeft, worden de doorvoeringen van GitHub Importer gekoppeld aan het e-mailadres dat is gekoppeld aan de doorvoeringen.
Een GitHub-opslagplaats importeren met behulp van de opdrachtregel
Als GitHub Importer niet geschikt is voor uw doeleinden, bijvoorbeeld als uw bestaande code wordt gehost op een particulier netwerk, raden we u aan om te importeren met behulp van de opdrachtregel.
Voordat u begint, moet u het volgende weten:
- Uw GitHub-gebruikersnaam
- De kloon-URL voor de externe opslagplaats, zoals
https://external-host.com/user/repo.gitofgit://external-host.com/user/repo.git(mogelijk met eenuser@voor deexternal-host.comdomeinnaam)
Voor demonstratie gebruiken we:
- Een extern account met de naam ext-user
- Een externe Git-host met de naam
https://external-host.com - Een persoonlijk GitHub-gebruikersaccount met de naam ghuser
- Een opslagplaats op GitHub.com met de naam repo.git
Volg deze stappen om uw externe opslagplaats te importeren:
Maak een nieuwe opslagplaats op GitHub. U importeert uw externe Git-opslagplaats naar deze nieuwe opslagplaats.
Maak een "bare" kloon van de opslagplaats met behulp van de externe kloon-URL. Voer op de opdrachtregel de volgende opdracht in. Met deze opdracht maakt u een volledige kopie van de gegevens, maar zonder een werkmap voor het bewerken van bestanden en zorgt u voor een schone, nieuwe export van alle oude gegevens.
$ git clone --bare https://external-host.com/ext-user/repo.git #Makes a bare clone of the external repository in a local directoryPush de lokaal gekloonde opslagplaats naar GitHub met behulp van de optie 'mirror', die ervoor zorgt dat alle verwijzingen, zoals vertakkingen en tags, naar de geïmporteerde opslagplaats worden gekopieerd.
$ cd repo.git $ git push --mirror https://github.com/ghuser/repo.git #Pushes the mirror to the new repository on GitHub.comVerwijder de tijdelijke lokale opslagplaats.
$ cd .. $ rm -rf repo.git
Lokaal gehoste code toevoegen aan GitHub
Als u bestaande broncode of opslagplaatsen lokaal hebt opgeslagen op uw computer of privénetwerk, kunt u deze toevoegen aan GitHub door opdrachten in een terminal te typen. Door Git-opdrachten rechtstreeks te typen of door GitHub CLI te gebruiken.
GitHub CLI is een opensource-hulpprogramma voor het gebruik van GitHub vanaf de opdrachtregel van uw computer. GitHub CLI kan het proces voor het toevoegen van een bestaand project aan GitHub vereenvoudigen met behulp van de opdrachtregel. Raadpleeg Over GitHub CLI voor meer informatie over GitHub CLI.
Een lokale opslagplaats toevoegen aan GitHub met GitHub CLI
Volg deze stappen om een lokale opslagplaats toe te voegen met GitHub CLI:
Navigeer in de opdrachtregel naar de hoofdmap van uw project.
Initialiseer de lokale map als een Git-opslagplaats.
git init -b mainAlle bestanden in uw project faseren en doorvoeren.
git add . && git commit -m "initial commit"Als u een opslagplaats voor uw project op GitHub wilt maken, gebruikt u de
gh repo create subcommand. Wanneer u hierom wordt gevraagd, selecteert u Een bestaande lokale opslagplaats naar GitHub pushen en voert u de gewenste naam voor uw opslagplaats in. Als u wilt dat uw project deel uitmaakt van een organisatie in plaats van uw gebruikersaccount, geeft u de naam van de organisatie en projectnaam op metorganization-name/project-name.Volg de interactieve aanwijzingen. Als u de remote wilt toevoegen en de repository wilt pushen, bevestigt u ja wanneer u wordt gevraagd de remote toe te voegen en de commits naar de huidige tak te pushen.
Als u alle prompts wilt overslaan, geeft u het pad naar de opslagplaats op met de
--sourcevlag en geeft u een zichtbaarheidsvlag (--public,--privateof).--internalBijvoorbeeld:gh repo create --source=. --public. Geef een afstandsbediening op met de--remotevlag. Als u uw doorvoeringen wilt pushen, geeft u de--pushvlag door. Raadpleeg de GitHub CLI-handleiding voor meer informatie over mogelijke argumenten.
Een lokale opslagplaats toevoegen aan GitHub met behulp van Git
Volg deze stappen om een lokale opslagplaats toe te voegen met behulp van Git:
Maak een nieuwe opslagplaats op GitHub.com. Als u fouten wilt voorkomen, initialiseert u de nieuwe opslagplaats niet met README, licentie of
gitignore files. U kunt deze bestanden toevoegen nadat uw project naar GitHub is gepusht.
Open Git Bash.
Wijzig de huidige werkmap in uw lokale project.
Initialiseer de lokale map als een Git-opslagplaats.
$ git init -b mainVoeg de bestanden toe in uw nieuwe lokale opslagplaats. Met deze opdracht worden ze ook gefaseerd voor de eerste doorvoering.
$ git add . # Adds the files in the local repository and stages them for commit. To unstage a file, use 'git reset HEAD YOUR-FILE'.Voer de bestanden door die zijn gefaseerd in uw lokale opslagplaats.
$ 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.Selecteer bovenaan de opslagplaats op de pagina Snelle instelling van GitHub.com de knop Kopiëren om de URL van de externe opslagplaats te kopiëren.
Voeg in de opdrachtprompt de URL voor de externe opslagplaats toe. Uw lokale opslagplaats wordt naar deze locatie gepusht.
$ git remote add origin <REMOTE_URL> # Sets the new remote $ git remote -v # Verifies the new remote URLPush de wijzigingen in uw lokale opslagplaats naar GitHub.com.
$ git push origin main # Pushes the changes in your local repository up to the remote repository you specified as the origin
Hulpprogramma's voor broncodemigratie
U kunt externe hulpprogramma's gebruiken om uw projecten naar GitHub te verplaatsen. Het is raadzaam om GitHub Importer te gebruiken om projecten te importeren uit Subversion, Mercurial, Team Foundation Version Control (TFVC) of een andere Git-opslagplaats. U kunt deze externe hulpprogramma's ook gebruiken om uw project te converteren naar Git.
Importeren vanuit Subversion
In een typische Subversion-omgeving worden meerdere projecten opgeslagen in één hoofdopslagplaats. Op GitHub wordt elk van deze projecten meestal toegewezen aan een afzonderlijke Git-opslagplaats voor een gebruikersaccount of organisatie. We raden u aan elk deel van uw Subversion-opslagplaats te importeren in een afzonderlijke GitHub-opslagplaats als:
- Samenwerkers moeten dat deel van het project afzonderlijk van de andere onderdelen uitchecken of doorvoeren
- U wilt dat verschillende onderdelen hun eigen toegangsmachtigingen hebben
We raden deze hulpprogramma's aan voor het converteren van Subversion-opslagplaatsen naar Git:
Importeren uit Mercurial
U wordt aangeraden hg-fast-export te exporteren voor het converteren van Mercurial-opslagplaatsen naar Git.
Importeren vanuit TFVC
We raden git-tfs aan voor het verplaatsen van wijzigingen tussen TFVC en Git.
Zie Migreren naar Git van gecentraliseerd versiebeheer voor meer informatie over het overstappen van TFVC (een gecentraliseerd versiebeheersysteem) naar Git.