Vorbereiten und Hochladen eines vorhandenen Projekts auf GitHub
In dieser Lektion werden wichtige Überlegungen zum Hochladen eines Projekts auf GitHub erörtert.
Warum sollten Sie auf GitHub hochladen?
Es gibt Bände von Literatur, welche die Tugenden von GitHub preisen, und es liegt außerhalb des Umfangs dieses Moduls, Sie davon zu überzeugen, teilzunehmen. In diesem Modul wiederholen wir jedoch einige der wichtigsten Vorteile im Kontext der Themen, die Sie bei der Planung Ihres Uploads berücksichtigen müssen.
Versionskontrolle
GitHub verwendet ausschließlich Git, das wohl beste Versionskontrollsystem. Git ist jedoch unglaublich anspruchsvoll und kann komplexe Szenarien für das Arbeiten mit Code ermöglichen, mit denen Ihr Team möglicherweise nicht vertraut ist. Branches und Pull Requests sind ein grundlegender Bestandteil des Alltags von Entwicklern, die Git verwenden. Daher müssen Sie wissen, wann und wie diese effektiv zu verwenden sind, um auf GitHub erfolgreich zu sein. Es empfiehlt sich, Ihr Team sich zunächst in den GitHub-Flow einzuarbeiten, damit Sie schnell durchstarten können.
Code in der Cloud
Ein großer Teil des Projektcodes wird immer noch ausschließlich auf den Rechnern der Entwickler gespeichert. Beim Hochladen auf GitHub verschieben Sie Ihren Code auf die Cloudplattform von GitHub, auf der Teammitglieder problemlos von überall aus darauf zugreifen können. Diese Änderung bietet eine gute Möglichkeit, die Richtlinie Ihres Teams für die Arten von Dateien und Daten zu überprüfen, die Sie in der Versionskontrolle behalten. Als bewährte Methode sollten Sie davon ausgehen, dass alles, was Sie auf GitHub übernehmen, potenziell kompromittiert wird. Achten Sie daher 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. Es empfiehlt sich, zu überlegen, wie sich Ihr Team an GitHub anpassen wird und ob bestehende Vorgänge beibehalten werden sollen.
Wenn es sich bei Ihrem Projekt um ein Open-Source-Projekt handelt, das externe Mitwirkende zulässt, profitieren Sie mit GitHub von den größtmöglichen Vorteilen.
Hochladen auf GitHub
Überlegungen planen
Das wichtigste vor der Ausführung Ihres Uploads auf GitHub ist zu überlegen, ob Sie etwas über den aktuellen Zustand Ihrer Quelle hinaus beibehalten müssen. Beispielsweise verwenden Sie möglicherweise ein Arbeitsblatt oder eine Projektmanagementsoftware, um Fehler nachzuverfolgen, die Sie korrigieren möchten. Die Unterstützung für die Migration dieser Elemente hängt von der Plattform ab und ist bei Communityprojekten allgemein verfügbar. Dieses Modul deckt nicht die Migration dieses Datentyps ab.
Umgang mit Binärdateien, die derzeit in Ihrem Projekt gespeichert sind
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. Ziehen Sie zum Versionieren großer Binärdateien die Git-Erweiterung Git LFS (Large File Storage) in Betracht.
Erstellen wichtiger Git-Dateien wie .gitignore
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 Beispiel unten schließt rekursiv alle Ordner mit dem Namen Bin oder bin sowie deren Inhalt aus der Quellcodeverwaltung aus.
[Bb]in/
In diesem Artikel erfahren Sie mehr über das Ignorieren von Dateien. Sehen Sie sich auch die Sammlung mit .gitignore
-Startdateien an, die für verschiedene Plattformen im GITIGNORE-Repository verfügbar sind.
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 |
Diese Datei enthält die Lizenz, unter welcher 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. Diese Datei 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. |
Unter Projekt für förderliche Beiträge einrichten finden Sie weitere Informationen.
Wie Sie Ihr Projekt auf GitHub hochladen
Nachdem Sie Ihr Repository für das Hochladen vorbereitet haben, erstellen Sie auf GitHub ein Repository. Navigieren Sie nach der Erstellung zur Registerkarte Code Ihres GitHub-Repositorys. Diese Ansicht bietet Ihnen mehrere Möglichkeiten zum Hochladen Ihres Projektcodes.
Wir empfehlen Ihnen, den git-Client oder ein Git-freundliches Tool zu verwenden, um Ihren Quellcode hochzuladen. Alternativ können Sie die Dateien über den Link creating a new file (Neue Datei erstellen) manuell hochladen. Mit der Zeit werden Sie feststellen, dass die Verwendung eines git-Clients die beste Art und Weise zum Verwalten von Änderungen, Branches und mehr ist.