Hur gör jag för att migrera ett befintligt projekt till GitHub?
Här diskuterar vi viktiga överväganden för att migrera ett projekt till GitHub från ett äldre versionskontrollsystem.
Varför ska jag migrera till GitHub?
Det finns massor med litteratur där GitHub rekommenderas starkt. Det ligger utanför omfånget för den här modulen för att övertyga dig om att flytta. Men vi kan sammanfatta några av de viktigaste fördelarna inom ramen för ämnen som du behöver tänka på när du planerar migreringen.
Versionskontroll
GitHub använder endast Git, utan tvekan det bästa versionskontrollsystemet. Git är dock otroligt avancerat och kan presentera några komplexa scenarier för att arbeta med kod som ditt team kanske inte har erfarenhet av. Grenar och pull-begäranden är en grundläggande del av det dagliga livet för utvecklare som använder Git, så det är nödvändigt att förstå när och hur de ska användas effektivt för att lyckas på GitHub. Det är värt att ditt team först bekantar sig med GitHub-flödet så att du kan komma igång.
Hålla koden i molnet
En stor mängd projektkod lagras fortfarande i äldre versionskontrollsystem bakom företagets brandväggar. När du migrerar till GitHub flyttar du din kod till GitHubs molnplattform, där teammedlemmar enkelt kan komma åt den var som helst. Den här migreringen ger en bra möjlighet att granska teamets princip för de typer av filer och data som du lagrar i versionskontroll. Som bästa praxis bör du anta att allt du checkar in på GitHub komprometteras. Se till att inte inkludera känsliga data, till exempel API-nycklar, lösenord eller andra filer som innehåller jämförbar information.
Kommentar
GitHub erbjuder både offentliga och privata lagringsplatser samt detaljerade åtkomstkontroller för olika delar av en lagringsplats. På så sätt kan du styra vilka projekt som visas, samt vilka åtgärder en viss användare kan utföra.
Samarbete
GitHub erbjuder utmärkt stöd för teamsamarbete med funktioner såsom ärenden, pull-begäranden och kodgranskningar. GitHub-flödet kan dock skilja sig från de metoder som ditt team för närvarande är vant vid. Det är en bra idé att överväga om teamet planerar att anpassa sig till GitHub, behålla sin givna process eller träffas någonstans i mitten innan migreringen slutförs.
Om projektet är ett projekt med öppen källkod som tillåter externa deltagare finns det inget bättre alternativ än GitHub för att maximera fördelarna.
Migrera till GitHub
Överväganden vid planering
Det viktigaste innan du kör migreringen till GitHub är om du behöver behålla något utöver källans aktuella tillstånd. Om du är nöjd med att starta ett nytt projekt med just din aktuella källa som den är är det bästa alternativet att behandla det som ett nytt projekt och ladda upp källan till din lagringsplats.
Men om du vill behålla versionskontrollhistoriken måste du importera med verktyget GitHub Migrator. Mer information om importstöd för olika plattformar för versionskontroll finns i Importera data från versionskontrollsystem från tredje part.
Utöver Git-data kanske du också vill behålla problem, pull-begäranden eller andra data. Stöd för dessa objekt varierar beroende på plattform och är allmänt tillgängligt från communityprojekt. Den här modulen omfattar inte migrering av icke-Git-data.
Hantera binära filer som för närvarande lagras i ditt projekt
Som bästa praxis bör GitHub-lagringsplatser vara begränsade till de filer som krävs för att bygga projekt. Undvik att checka in stora binära filer, till exempel byggartefakter. Binära filer såsom kalkylblad och presentationer är bättre att spåras i portaler som förstår hur de ska betjänas och versionshanteras korrekt. Om du behöver versionshantera stora binära filer bör du överväga att använda Git LFS (Lagring av stora filer).
Skapa viktiga Git-filer som .gitignore
Git stöder .gitignore filer för att framtvinga filprinciper för versionskontroll. Dessa filer definierar de sökmönster som används för att undanta filer och mappar från källkontrollspårning. I följande enkla exempel undantas rekursivt alla mappar som kallas Bin eller bin och deras innehåll från källkontrollspårning:
[Bb]in/
Du kan lära dig mer om att ignorera filer. Du kan också kolla in samlingen med startfiler .gitignore som erbjuds för olika plattformar på gitignore-lagringsplatsen.
Det finns flera andra filer som ofta används i GitHub-projekt till att förklara olika principer för lagringskonsumenter och -deltagare. Även om ditt projekt är privat och begränsat till en begränsad målgrupp kan det fortfarande vara användbart att uttryckligen förklara dessa principer. Ingen av dessa filer krävs, men vi har listat några av de vanliga filerna här.
| Fil | Syfte |
|---|---|
README.md |
Landningssidan för katalogen. Den här sidan renderas när dess katalog visas på GitHub. |
LICENSE.md |
Den licens som koden tillhandahålls under. |
CONTRIBUTING.md |
Förklarar hur användare bör bidra till projektet, till exempel förväntningar på pull-begäranden. |
SECURITY.md |
Förklarar säkerhetsprincipen för projektet. Ger vägledning till användare som vill skicka känslig säkerhetsrelaterad kod eller feedback som inte bör offentliggöras innan de åtgärdas. |
Läs mer om hur du konfigurerar projektet för felfria bidrag.
Importera projektet till GitHub
När du har förberett lagringsplatsen för migrering går du till fliken Kod på din GitHub-lagringsplats. Använd alternativet Importera kod för att ange källlagringsplatsen.
GitHub Migrator-verktyget tar hand om resten.