Anzeige
Anzeige
Ratgeber
Artikel merken

Versionskontrolle für Einsteiger: Die ersten Schritte mit GIT und GitHub

Die Arbeit an einem Web-Projekt im Team kann ziemlich kompliziert sein. Wir verraten, wie die Zusammenarbeit durch GIT vereinfacht wird und warum es sich durchaus lohnt, den Aufwand für eine Versionskontrolle zu betreiben.

Von Ilja Zaglov
5 Min. Lesezeit
Anzeige
Anzeige

(Bild: Shutterstock / 360b)

Mit Hilfe von Versionskontroll-Systemen kannst du dir und deinem Team die Arbeit an Web-Projekten deutlich vereinfachen. Aber auch für Solo-Projekte kann eine gute Versionierung sehr nützlich sein.

Anzeige
Anzeige

Wenn es um das Thema Versionierung geht, bekommt man von Laien oft zu hören, dass es ein unnötiger Aufwand sei, Projekte lokal, auf den jeweiligen Servern und dann auch noch in einer Versionskontrolle aktuell zu halten und dass der direkte Weg über den FTP-Client doch deutlich einfacher und effizienter sei. Das mag auf den ersten Blick tatsächlich so erscheinen. Hat man jedoch erst mal mit einem Versionskontroll-System wie GIT gearbeitet, wird schnell klar, dass die Vorteile in Relation zum zusätzlichen Aufwand überwiegen.

Was ist eine Versionskontrolle?

Anzeige
Anzeige

„Die Arbeit direkt über FTP ist viel unkomplizierter!?“

Versionskontroll-Systeme helfen dabei, einen Überblick über deine Web-Projekt zu behalten. Das System behält für dich sämtliche Dateien im Auge und legt Kopien von aktualisierten Dokumenten an. So hast du die Möglichkeit, jederzeit zu sehen, welche Dateien wann geändert wurden, und kannst die unterschiedlichen Versionen der Dateien schnell vergleichen, zusammenführen und Änderungen rückgängig machen. Doch wie funktionieren Versionskontroll-Systeme?

Eins der wohl bekanntesten Systeme ist GIT mit der dazugehörigen Online-Plattform GitHub, das seinen Usern unter anderem ein auf GIT basierendes Versionskontroll-System anbietet. Auf GitHub werden hierfür Projekte in so genannten Repositorys organisiert. Diese „Archive“ beinhalten die jeweiligen Bestandteile wie PHP-, JavaScript-, HTML- und CSS-Dateien.

Anzeige
Anzeige

Am Projekt beteiligte Benutzer können eine Kopie des Repositorys auf ihrem Computer anlegen und daran arbeiten. Durchgeführte Änderungen schicken sie an GitHub zurück, das dann den Rest der Arbeit wie das Anlegen von Sicherungskopien der alten Dateien übernimmt.

Das Versionskontroll-System GIT nutzen

Um von einer zentralen Versionskontrolle profitieren zu können, musst du zunächst eine lokale Versionskontrolle auf deinem Computer installieren. GIT ist für alle Plattformen verfügbar und ist mit wenigen Klicks einsatzbereit. Auf der offiziellen Webseite zum Versionskontrollsystem GIT kannst du das jeweils passende Installationspaket runterladen.

Anzeige
Anzeige

In diesem Artikel werden wir mit GitHub arbeiten. Damit du loslegen kannst und das System deine Änderungen auch entsprechend erfassen kann, musst du neben dem Repository auf GitHub auch ein lokales Repository anlegen. Das geht beispielsweise mit dem GitHub-Client (GitHub für Mac, GitHub für Windows). Er kann ein bestehendes Repository von einem zentralen in dein lokales Versionskontroll-System kopieren (Cloning). Du hast auch die Möglichkeit, ein Repository zunächst lokal anzulegen und dann auf GitHub zu veröffentlichen. Wir gehen aber den einfachen Weg. Ist die Kopie des Repositorys erst mal angelegt, kannst du wie gewohnt mit dem Editor deiner Wahl an dem Projekt weiter arbeiten.

GitHub für Mac

Versionskontrolle: Mit dem GitHub-Client kannst du ganz einfach bei GitHub angelegte Projekte auf deinen Rechner kopieren. (Screenshot: t3n)

Commit

GitHub für Mac

Mit einem Commit speicherst du eine neue Version deiner Dateien im lokalen Repository. (Screenshot: t3n)

Sobald du mit deiner Arbeit fertig bist, musst du deine Änderungen für das Versionskontroll-System zusammenfassen. Das geht mit einem so genannten „Commit“. Mit dem Commit-Befehl teilst du deinem lokalen Repository mit, dass du bestimmte Dateien verändert hast und dieser Schritt jetzt in die Versionierung übernommen werden soll. Hierfür kannst du die Dateien, die du verändert hast, auswählen und einen Kommentar hinterlassen, um später besser nachvollziehen zu können, was du gemacht hast.

Push

GitHub Remote Publish

Mit einem Push (GitHub: Publish) veröffentlichst du Änderungen deines lokalen Repositorys im zentralen Repository. (Screenshot: t3n)

Wenn du deine Änderungen an die zentrale Versionsverwaltung – also GitHub – übermitteln willst, musst du die Änderungen pushen.Beim Pushen werden sämtliche Änderungen aus deinem lokalen Repository an das Remote-Repository übertragen. Dazu gehören auch Commits, die du zwischendurch durchgeführt hast. Beim GitHub-Client nennt sich dieser Schritt „Publish“. So können auch offline durchgeführte Änderungen erfasst und später im Remote-Repository nachvollzogen werden.

Anzeige
Anzeige

Pull

Der Pull-Befehl ist das Gegenteil vom Push: Mit einem Pull (beim GitHub-Client „Sync“) kannst du dein lokales Repository mit Daten aus dem entfernten Repository abgleichen und Änderungen übernehmen. Das kann besonders nützlich werden, wenn du an mehreren Geräten arbeitest, da so alle deine Entwicklungsgeräte die aktuellste Fassung des Projektes zur Verfügung haben. Natürlich könnte man auch ohne GIT die anderen Entwicklungsgeräte synchron halten – beispielsweise über FTP. Das dauert aber mit zunehmender Projektgröße deutlich länger als das Abgleichen deiner Dateien mit einem Repository.

Branching

GitHub Branch

Mit einem Branch erstellst du eine Kopie des Repositorys oder eines anderen Branches und kannst parallel entwickeln. (Screenshot: t3n)

Ein GIT-Projekt kann mit so genannten Branches aufgeteilt werden. Sobald du oder ein anderer Entwickler einen Branch anlegt, wird eine eine 1:1-Kopie des aktuellen Zustands (der so genannte Stamm) angelegt, an der dann parallel weitergearbeitet werden kann.

Das ist beispielsweise sinnvoll, wenn du am Abrechnungsmodul deines Projekts arbeitest, während ein anderer Entwickler sich um das Projekt-Management-Modul kümmert und ein dritter die Core-Funktionen noch mal auf Fehler überprüft. So kann von jedem der drei Module eine aktuelle Version gepflegt werden, die zu einem späteren Zeitpunkt in den Stamm-Code einfließen kann.

Anzeige
Anzeige

Merging

GitHub Merging

Das Merging mit dem GitHub-Client ist mit wenigen Klicks erledigt. (Screenshot: t3n)

Als Merging bezeichnet man die Zusammenfassung von mehreren Branches. Hierfür werden die Änderungen an einem Branch in einen anderen Branch (oder Stamm) übernommen. Das funktioniert besonders gut, wenn der Branch Änderungen an Dateien vornimmt, die von keinem anderen Benutzer in dem Branch, mit dem die Zusammenführung durchgeführt werden soll, bearbeitet wurden. Im GitHub-Client werden Branches ganz einfach per Drag & Drop in der „Branches-Ansicht“ zusammengeführt.

Vor- und Nachteile von Systemen zur Versionskontrolle

Für die Zusammenarbeit mit einem Versionskontroll-System wie GIT ist eine gewisse Disziplin erforderlich. Zwar hat GIT eine Möglichkeit, Änderungen verschiedener Programmierer an der selben Datei zusammenzuführen. Wirklich unproblematisch ist das aber nur in seltenen Fällen. Es ist somit sinnvoll, jemanden zu bestimmen, der die Arbeit an den einzelnen Komponenten koordiniert und somit Kollisionen frühzeitig verhindern kann. Ein modularer Aufbau des Projekts begünstigt die Zusammenarbeit mit einem Versionskontroll-System natürlich.

Die hier beschriebenen Möglichkeiten kratzen zudem nur an der Oberfläche dessen, was mit einem Versionskontroll-System möglich ist. Für den Einstieg und ein erstes gemeinsames Projekt sollte das aber reichen. Doch Versionskontroll-Systeme sind nicht nur für Teams interessant. Auch wenn du alleine arbeitest, kann der Einsatz eines solchen Systems dir die Arbeit vereinfachen – sei es durch eine Sicherung oder die konsequente Trennung und Versionierung von Features in unterschiedlichen Branches.

Anzeige
Anzeige

Nicht nur für Webworker

Versionskontroll-Systeme sind aber nicht nur für Programmierer interessant. Zwar ist ein System wie GIT nicht für die Verwaltung und das Zusammenlegen von Binärdaten ausgelegt, das bedeutet aber nicht, dass es nicht dazu in der Lage ist, Sicherungskopien älterer Versionen von beispielsweise Photoshop- oder InDesign-Dateien anzulegen. So könnte ein solches System auch für die Versionierung von Layouts verwendet werden, ohne hierfür unzählige inkrementelle Kopien anfertigen zu müssen. Irgendwann passiert es schließlich jedem mal, dass man die falsche Datei überschreibt. Mit einem Versionskontroll-System wie GIT ist das dann kein Problem mehr.

Kostenlose öffentliche und private Repositorys erstellen

GiHub bietet seinen Nutzern eine Möglichkeit, kostenlose Repositorys anzulegen – die sind jedoch öffentlich und für alle einsehbar. Wenn du von einem zentralen Versionskotroll-System profitieren willst, aber die Kosten von GitHub scheust, könnte sich ein Blick auf BitBucket lohnen. Der Dienst von Atlassian bietet ebenfalls zentrale GIT-Repositorys an, die aber auch schon im kostenlosen Tarif mit bis zu fünf Team-Mitgliedern privat geteilt werden können.

Mehr zu diesem Thema
Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
10 Kommentare
Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Werner

=> Kosten von GitHub..
Einfach einen virt. Server mieten, absichern, git installieren und Repositories selber hosten. ca. 30 min Arbeit..

Antworten
Carsten

Als Client für Mac (Windows in Arbeit) empfehle ich Tower und dessen Lernplattform unter git-tower.com/learn.

Antworten
Joern

bitbucket ist wirklich gut: Private Repositories für lau. Funktioniert bisher ohne Probleme.

Antworten
Marc

Anstatt BitBucket sollte man sich auch mal Stash anschauen. Das ist aus dem gleiche Hause und wir standen vor kurzem ebenfalls vor der Frage und haben uns für Stash entschieden und es keine Sekunde bereut (vorallem in Verbindung mit den anderen Atlassian Produkten zum Software Development spielt Stash seine Stärken in der perfekten Vernetzung aus!).

Antworten
John

#GitFtpUpload
Sollte der Hoster kein SSH anbieten ist dieses Programm in Verbindung mit .Git
sehr praktisch: https://github.com/git-ftp/git-ftp

Antworten
Susanna Künzl

Wer mit PhpStorm arbeitet, kann sein lokales Repository per Plugin mit BitBucket abgleichen: https://plugins.jetbrains.com/plugin/6207?pr=phpStorm, die Zusammenarbeit mit Github ist mW sowieso an Bord: https://www.jetbrains.com/phpstorm/help/registering-github-account-in-phpstorm.html.

Antworten
Peter

Wenn ihr es auf eurem eigenen Server hosten wollt (Thema US & Datenschutz!) dann empfehle ich Rhodecode (https://rhodecode.com).

Deutsche Firma, spezialisiert auf sichere Versionskontrolle, kostenlos bis 10 Benutzer und funktioniert nicht nur mit Git, sondern auch mit Mercurial und Subversion.

Antworten
Andi

Ich verwende für mich und auch in den Unternehmen GitLab CE auf virtuellen Maschinen. Sowohl lokale VM als auch „Internet-VM“. Funktioniert super, das Updaten läuft auch prima und es kostet sogesehen nur das Hosting bzw. die lokale VM. Man sollte allerdings mindestens 2 GB und 2 vCores verwenden. Ansonsten wird’s auch schnell mal wirklich langsam. Aber das sollte heute ja alles kein Problem mehr sein.

Antworten
Gordon

Wer sich das anschauen möchte: wir hatten „Versionskontrolle mit Git“ als Thema im Februar beim Webmontag und haben jetzt die Vorträge als Videos fertig. Ertser Teil ist eine Einführung und der zweite Teil ein live-tutorial (2 x 30 Minuten).

https://www.youtube.com/watch?v=s3-nKliIzZA
https://www.youtube.com/watch?v=1BHFCk2aZKo

Antworten
m_r_miagi

Hier ebenfalls noch ein „simple guide“ http://rogerdudler.github.io/git-guide/

Antworten

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Anzeige
Anzeige