Migrieren eines vorhandenen Projekts zu GitHub
Hier werden wichtige Aspekte für die Migration eines Projekts von einem veralteten Versionskontrollsystem zu GitHub behandelt.
Vorteile einer Migration zu GitHub
Die Vorzüge von GitHub werden in zahlreichen Büchern gelobt. Es liegt außerhalb des Umfangs dieses Moduls, Sie zum Handeln zu überzeugen. Wir können jedoch einige der wichtigsten Vorteile im Kontext von Themen, die Sie bei der Planung Ihrer Migration berücksichtigen müssen, zusammenfassen.
Versionskontrolle
GitHub verwendet ausschließlich Git, wohl das beste Versionssteuerungssystem. Git ist jedoch sehr komplex und kann daher anspruchsvolle Programmierszenarios mit sich bringen, mit denen Ihr Team möglicherweise nicht vertraut ist. Branches und Pull Requests sind ein grundlegender Bestandteil des täglichen Lebens für Entwickler, die mit Git arbeiten. Das Verständnis, wann und wie sie effektiv verwendet werden müssen, ist also erforderlich, um auf GitHub erfolgreich zu sein. Es lohnt sich für Ihr Team, sich zunächst mit dem GitHub Flow vertraut zu machen, damit Sie sofort produktiv starten können.
Code in der Cloud
Große Mengen an Projektcode werden häufig noch in Legacy-Versionskontrollsystemen gespeichert, die hinter der Firewall des Unternehmens liegen. Wenn Sie zu GitHub migrieren, verlagern Sie Ihren Code auf die Cloudplattform von GitHub, wo Teammitglieder problemlos überall darauf zugreifen können. Diese Migration bietet eine gute Möglichkeit, die Richtlinie Ihres Teams für die Arten von Dateien und Daten zu überprüfen, die sich in der Versionskontrolle befinden. Als bewährte Methode sollten Sie davon ausgehen, dass alles, was Sie auf GitHub übernehmen, kompromittiert wird. Achten Sie darauf, keine vertraulichen Daten wie API-Schlüssel, Kennwörter oder andere Dateien einzuschließen, die vergleichbare Informationen enthalten.
Hinweis
GitHub bietet sowohl öffentliche als auch private Repositorys sowie detaillierte Zugriffssteuerungen für verschiedene Teile eines Repositorys. Dadurch können Sie steuern, für wen Ihre Projekte sichtbar sind und welche Aktionen ein bestimmter Benutzer durchführen kann.
Zusammenarbeit
GitHub ist durch Features wie Issues, Pull Requests und Code Reviews eine hervorragende Unterstützung für die Zusammenarbeit im Team. Der GitHub-Flow kann sich jedoch von den Praktiken unterscheiden, an die Ihr Team derzeit gewöhnt ist. Sie sollten vor der Migration überlegen, ob Ihr Team mit GitHub zurechtkommt, lieber gewohnte Abläufe beibehalten möchte oder einen Mittelweg bevorzugt.
Wenn es sich bei Ihrem Projekt um ein Open-Source-Projekt handelt, das externe Mitwirkende zulässt, profitieren Sie mit GitHub von den bestmöglichen Vorteilen.
Migrieren zu GitHub
Planungsaspekte
Die wichtigste Überlegung vor der Migration zu GitHub ist, ob Sie etwas beibehalten müssen, das über den aktuellen Zustand Ihrer Quelle hinausgeht. Wenn Sie ein neues Projekt mit dem vorliegenden Zustand Ihrer aktuellen Quelle starten möchten, sollten Sie dieses wie ein komplett neues Projekt behandeln und die Quelle in Ihr Repository hochladen.
Wenn Sie jedoch den Versionsverwaltungsverlauf beibehalten möchten, müssen Sie mit dem GitHub-Migrationstool importieren. Weitere Informationen zur Importunterstützung für verschiedene Versionssteuerungsplattformen finden Sie unter Importieren von Daten aus Versionssteuerungssystemen von Drittanbietern.
Neben Git-Daten sollten Sie vielleicht auch Issues, Pull-Requests oder andere Daten aufbewahren. Die Unterstützung für diese Elemente variiert je nach Plattform und ist im Allgemeinen bei Communityprojekten verfügbar. In diesem Modul wird die Migration von Nicht-Git-Daten nicht behandelt.
Verarbeiten der derzeit in Ihrem Projekt gespeicherten Binärdateien
Eine bewährte Methode besteht darin, GitHub-Repositorys auf die Dateien zu beschränken, die zum Erstellen von Projekten benötigt werden. Vermeiden Sie das Übertragen großer Binärdateien wie Buildartefakte. Binärdateien wie Arbeitsblätter und Präsentationen können besser über geeignete Portale zur Verarbeitung und Versionierung nachverfolgt werden. Wenn Sie große Binärdateien versionieren müssen, sollten Sie die Git LFS (Large File Storage)-Erweiterung verwenden.
Erstellen wichtiger Git-Dateien wie GITIGNORE-Dateien
Git unterstützt .gitignore-Dateien zum Erzwingen von Dateirichtlinien für die Versionskontrolle. Diese Dateien definieren die Suchmuster, mit denen Dateien und Ordner aus der Quellcodeverwaltung ausgeschlossen werden. Das folgende einfache Beispiel schließt rekursiv alle Ordner mit dem Namen "Bin " oder "Bin" und deren Inhalte aus der Nachverfolgung der Quellcodeverwaltung aus:
[Bb]in/
Weitere Informationen zum Ignorieren von Dateien finden Sie hier. Sie können auch die Sammlung von Startdateien .gitignore auschecken, die für verschiedene Plattformen im Gitignore-Repository angeboten werden.
Es gibt viele andere Dateien, die häufig in GitHub-Projekten verwendet werden, um Benutzern und Mitwirkenden von Repositorys unterschiedliche Richtlinien zu erklären. Auch wenn Ihr Projekt privat und auf eine bestimmte Zielgruppe beschränkt ist, kann es dennoch nützlich sein, diese Richtlinien explizit zu formulieren. Obwohl keine dieser Dateien erforderlich ist, sind einige der häufig verwendeten hier aufgeführt.
| Datei | Zweck |
|---|---|
README.md |
Dies ist die Landing Page für das Verzeichnis. Diese Seite wird gerendert, wenn das zugehörige Verzeichnis auf GitHub angezeigt wird. |
LICENSE.md |
Dies ist die Lizenz, unter der der Code bereitgestellt wird. |
CONTRIBUTING.md |
Diese erläutert, wie Benutzer beim Projekt mitwirken sollten (z. B. Pull Request-Erwartungen). |
SECURITY.md |
Erläutert die Sicherheitsrichtlinie für das Projekt. Sie enthält Anleitungen für Benutzer, die vertraulichen sicherheitsrelevanten Code oder Feedback übermitteln möchten, das nicht öffentlich werden sollte, bevor es behandelt werden konnte. |
Erfahren Sie mehr über das Einrichten Ihres Projekts für gesunde Beiträge.
Wie Sie Ihr Projekt in GitHub importieren
Nachdem Sie Ihr Repository für die Migration vorbereitet haben, navigieren Sie zur Registerkarte "Code " Ihres GitHub-Repositorys. Verwenden Sie die Option "Code importieren ", um das Quell-Repository anzugeben.
Das GitHub-Migrationstool kümmert sich um den Rest.