Git ist ein weit verbreitetes Open-Source-Tool zur verteilten Versionskontrolle von Software. Das ist ein Repository zur Dateiversionskontrolle, das für die Versionierung von Quellcode und die gemeinsame Entwicklung verwendet wird. Es ist wie eine kollaborative soziale Plattform, auf der Programmierer und Unternehmen ihre Projekte für die Codeentwicklung einstellen.
Dieses Kontrollsystem hat die Funktion, alle an einem Code vorgenommenen Änderungen aufzuzeichnen, diese Informationen zu speichern und es einem Programmierer zu ermöglichen, bei Bedarf auf einfache und schnelle Weise zu früheren Versionen einer Anwendung zurückzukehren. Diese Art vom System vereinfacht auch den Prozess der gemeinsamen Nutzung eines Projekts beispielsweise mit einem Team oder mit anderen Programmierern erheblich.
Die Bedeutung von GitHub. GitHub wurde 2008 eingeführt und ist eine Webversion von Git. Die Projekte auf GitHub sind größtenteils Open Source, aber Sie können Ihren Code privat, nur für bestimmte Personen verfügbar machen oder Teams erstellen.
Git und GitHub sind verschiedene Dinge. Sie können Git zur Versionskontrolle nur auf Ihrer Festplatte haben. GitHub ist für Sie, wenn Sie Ihren Code teilen oder in die Cloud stellen möchten. GitHub verfügt über alle Funktionen von Git und über mehrere weitere zusätzliche Funktionen, die unten aufgelistet sind:
GitHub ermöglicht es Projekten auch, mit der sozialen Nutzung des Tools zu wachsen. Jeder Benutzer auf GitHub hat sein eigenes Profil wie jedes andere soziale Netzwerk, ideal, um seine Arbeit und Beiträge zu anderen Projekten zu präsentieren. Die Projektrevisionen können öffentlich diskutiert werden, was den Wissensaustausch begünstigt. GitHub fördert unter anderem auch die Vernetzung zwischen Entwicklern.
GitLab ist ein weiterer bekannter Online-Service zum Speichern und Arbeiten mit Git-Repositories, und wird von Kenner Soft Services GmbH genutzt. Der Service basiert auf einem Datenbanksystem. Es wurde drei Jahre später als GitHub veröffentlicht, deswegen ist die Anzahl seiner Benutzer geringer als die des GitHubs. Trotzdem wird der Service von mehr als 100.000 Projekten, Unternehmen und Organisationen genutzt, darunter sind solche Konzerne wie IBM, Sony, Alibaba, NASA, CERN und viele andere.
Was die Funktionalität von GitLab betrifft, bietet es die folgenden Funktionen:
GitLab bietet zwei kostenlose Versionen an: Community Edition für kleine Teams oder persönliche Projekte (die auf dem lokalen Server des Benutzers bereitgestellt sind) und eine kostenlose Cloud-Version, die auf einem Remote-Hosting-Server erstellt wird (Speicher bis zu 10 GB). Es stehen zudem zwei kostenpflichtige Versionen zur Verfügung: die Enterprise Edition Starter und die Enterprise Edition Premium.
Mit der Einführung eines Versionskontrolltools wie Git werden neue Herausforderungen und neue Fragen in den Entwicklungsprozess eingeführt. Es wurden mehrere Git-Workflows veröffentlicht, das sind einige davon:
Bei diesem Ansatz wird kein Zweig des Codes erstellt und die Entwickler arbeiten direkt an dem einzigen vorhandenen Zweig, dem Master. Als Vorteil erfordert dieser Workflow nicht, dass das Team mehrere Codezweige verwaltet. Als Nachteil erhöht es die Wahrscheinlichkeit von Konflikten im Code, da alle Entwickler denselben Codezweig verwenden, der Fehler in das System einbringen kann.
Bei diesem Ansatz müssen die Entwickler für jede zu implementierende Funktion einen neuen Codezweig erstellen. Damit findet die Zusammenführung zwischen dem Feature und dem Hauptzweig erst statt, wenn dieses Feature seine Entwicklung bereits abgeschlossen hat. Daher werden neue Funktionen niemals im Master- Branch sein, ohne dass dieser beendet wurde.
In diesem Modell hat jeder Entwickler sein eigenes Repository und die Änderungen werden nur in diesem Repository durchgeführt. Um Ihren Code in das zentrale Repository zu integrieren, muss der Entwickler Pull Request ausführen. Dadurch können die Entwickler den produzierten Code integrieren, ohne die Änderungen direkt im zentralen Repository vornehmen zu müssen.
Allerdings kann nur der „Manager“ des Repositorys den Pull Request annehmen, wodurch der Code wirklich integriert wird.
In Gitflow Workflow gibt es zwei Arten von Zweigen: Hauptzweige und Supportzweige. Die Hauptzweige heißen Develop und Master. Im Master-Zweig befindet sich der Code, der der Produktionssoftware entspricht. Der Develop-Zweig ist ein Zweig, der aus dem Master-Zweig erstellt wurde, und in diesem Zweig arbeiten alle Entwickler. Support-Zweige können vom Typ Feature, Release oder Hotfix sein.
Redmine ist ein Tool, das das Projektmanagement unterstützt und folgende Bereiche abdeckt:
Redmine ist ein flexibler Projektmanager für das Web, der auf Basis von Ruby on Rails geschrieben und unter der GPL-Lizenz veröffentlicht wurde, auf mehreren Plattformen konfiguriert werden kann und mehrere Datenbanken unterstützt. Zu seinen wichtigsten Vorteilen gehören:
Für bessere Qualität der Arbeit zwischen Teams nutzt man Task Manager und Git zusammen.
Wenn der Entwickler einen Task via Task Manager (Redmine) bekommt, nutzt er ein Konsolen-Dienstprogramm, das ermöglicht, einen festen Workflow auf allen Projekten von allen Programmierern zu befolgen. Dieses Konsolen-Dienstprogramm ist eine sozusagen Qualitätssicherung, dass alle Mitarbeiter den einheitlichen Arbeitsprozess befolgen.
Das Konsolen-Dienstprogramm erstellt automatisch einen neuen Zweig zu dem entsprechenden Task und gewährleistet alle Etappen des Code Reviews, wo die Entwickler oder Tester beteiligt sind. Jedem Task in Redmine wird also ein separater Zweig in GitLab zugewiesen (d.h., jedes Feature wird in einem separaten Zweig entwickelt), jeder Task wird dem Review unterliegt und via Release Manager veröffentlicht.
Diese Zusammenarbeit von Redmine und GitLab fördert einerseits die Arbeitsgeschwindigkeit und Automatisierung der Prozesse und andererseits die Kontrolle des Workflows, damit alle Aufgaben und Prozesse den einheitlichen Qualitätsstandards entsprechen.
Über den Prozess des Code Reviews und des Testens lesen Sie in unseren anderen Artikeln.
Unsere Agentur Kenner Soft Services GmbH achtet sehr viel auf die Qualität der erbrachten Leistungen. Wir überprüfen alles sehr gründlich und sorgfältig, um das beste Ergebnis den Kunden zu liefern.
Bitte nehmen Sie Kontakt mit unserem Team auf, gerne helfen wir Ihnen weiter.