# Versionsverwaltung mithilfe von Bitbucket und Eclipse



## Make-Grafik (24. Sep 2016)

Also, da dies mein erster Post hier ist möchte ich mich vorab einmal vorstellen. Wen das nicht interessiert kann weiter runter scrollen zur *Frage*. Ist auch hervorgehoben sodass beide Abschnitte gut getrennt sind.

*Vorstellung*:
Also, ich heiße Cederik Althaus und bin 18 Jahre jung. Derzeitig mache ich eine Ausbildung als Medieninformatiker und würde später gerne in die Spielentwicklung hinein. Programmieren tue ich schon seit mein 10. Lebensjahr. Damals hat es mit AutoIt angefangen, Ziel war es Bots zu schreiben für Browsergames. Als ich erkannte für was alles eine Programmiersprache zu gebrauchen ist, bin ich bei der Programmierung hängen geblieben und es wurde regelrecht mein Hobby. Ich habe alles an wissen aufgesaugt was ich nur finden konnte, lernte viel und habe nun eine gute Grundlage. In meiner Ausbildung geht es für mich ziemlich mäßig voran, dort wird mit Java gearbeitet. Da ich allerdings die Basics schnell drauf hatte (wegen mein umfassendes Wissen was ich schon angesammelt habe) beschäftige ich mich mit anderen Themen. Meine Noten sind (was die Programmierung betrifft) sehr gut (also: Ich stehe wirklich auf "sehr gut" ^^) was es mir mittlerweile erlaubt die Zeit auch anderweitig für private Projekte zu nutzen. So lange meine Klausuren natürlich so bleiben. 

Ehm ja, nachdem ich in AutoIt 3 Jahre programmiert habe bin ich langsam in die Webentwicklung hinein gerutscht. Sprich HTML5, CSS3, JavaScript sowie PHP. Hmn, ich weiß gar nicht wann ich mich genau mit was befasst habe, dazu kam allerdings auch C++, C#, FreeBASIC und flatassembler. Im Prinzip habe ich schon viel Know-How was die Windows Programmierung betrifft. Nun gut, Java lerne ich zur Zeit nur wegen meiner Ausbildung wegen. Sonst würde ich eher C# verwenden. Mir ist allerdings aufgefallen dass mir noch wichtige Dinge fehlen um tatsächlich effektiv in einer Firma arbeiten zu können. Unter anderem eben eine ordentliche Versionsverwaltung. Und das führt mich auch in das Forum hier.

*Frage*:
Ich habe mich vorab ein wenig über Git informiert. Ich weiß zmd. dass damit eine einfache Versionsverwaltung möglich ist. Allerdings weiß ich absolut nicht wie man das in Eclipse nutzt oder auch ein online Repository benutzt (sprich, eine automatische Synchronisation zwischen dem lokalen Repository und dem online einrichtet). Bietet Eclipse das überhaupt? Wenn ja, wie funktioniert das Konkret? Ich hab's schon mit Google und Co. probiert, jedoch schlug das fehl. :S

Vielleicht auch nur mein typisches Problem dass ich nicht gescheit googeln kann, wenn es um neue Themen für mich geht. ^.^


----------



## SeriousD0nkey (24. Sep 2016)

Hallo und willkommen im Forum.

Grundsätzlich ist Git ein eigenes Tool und hat per Default nix mit eclipse zu tun. Deswegen würde ich mich an deiner Stelle erstmal damit außerhalb von eclipse beschäftigen. Also beispielsweise in der Shell (würde unter Windows die Git Bash verwenden) oder du suchst dir ein grafisches Tool (SourceTree z.B.).
Wie Git funktioniert ist auf dieser Seite (https://git-scm.com/doc) eigentlich ganz gut beschrieben. 
Eine "automatische" Synchronisation existiert in Git eigentlich gar nicht. Du musst schon selber dein lokales Repository aktualisieren. (Sprichwort: Pull und Push)
Aber du solltest erstmal die Dokumentation durcharbeiten und wenn du speziellere Fragen hast, die dann hier stellen.

Eclipse bietet aber auch (glaube auch in der Standard-Konfiguration) die Möglichkeit die Git Commands auszuführen oder eine Datei im aktuellen Stand mit einer alten Version zu vergleichen etc.. Nichts desto trotz würde ich das ganze aber erstmal ohne eclipse machen, dann weißt du nämlich anschließend auch, was eclipse da für dich macht.


----------



## Make-Grafik (24. Sep 2016)

Hmn, okey. Danke für die Info.

Nach meinen Recherchen bin ich eher zu dem Schluss gekommen dass es sich bei "Git" eher um eine Methode / Art und Weise handelt, wie eine Versionsverwaltung aussehen kann. Ich dachte Eclipse nutzt dies einfach wie diverse Programme auch. Aber irgendwie finde ich auch kein passenden Einstieg in die ganze Thematik. Hast du vielleicht ein Link für mich, der mir als Leitfaden dienen kann?


----------



## SeriousD0nkey (24. Sep 2016)

Git definiert nicht, wie eine Versionsverwaltung ausshen kann. Git ist schon eine eigenständige Versionsverwaltung. Du musst Git herunterladen (https://git-scm.com/downloads) und installieren. Ich würde dir empfehlen, die Dokumentation die ich im vorherigen Post genannt habe ein wenig durchzuarbeiten. Dann siehst du, was Git genau macht.


----------



## stg (24. Sep 2016)

SeriousD0nkey hat gesagt.:


> Git ist schon eine eigenständige Versionsverwaltung.



Ich würde sogar sagen _DIE _Versionsverwaltung.


----------



## klauskarambulut (24. Sep 2016)

Git ist sogesehen beides. Es ist eine Versionsverwaltung und es definiert, wie die Datei/Ordnetstruktur aussehen muss für ein sogenanntes Git-Repository.
Das Tool macht im Grunde nicht viel.
Um aus einem Ordner ein repository zu machen wird ein Unter Unix versteckter Ordner .git angelegt in dem dann die jeweiligen "Versionen" liegen. Dazu gehören auch noch sehr viele Meta-Daten.
Das Tool git, dass es auf der genannten Seite zum Download gibt, stellt eben für die Kommandozeile alles nötige bereit um dass handlich zu bedienen.

Das ganze ist aber so "Simpel", dass man dies auch direkt in Java in einem Tool bauen kann, dass den selben Funktionsumfang bietet. Oh, hat jemand gemacht und nennt sich JGit https://github.com/eclipse/jgit

Wenn es eine Java-Implementierung des ganzen gibt, dann kann man dass auch in eine in Java geschriebene IDE (z.B. Eclipse) integrieren. Hat man auch gemacht. Nennt sich EGit und ist ein Eclipse Plugin. https://eclipse.org/egit/ dass unter der Haube JGit nutzt, was wiederum GIT-Konforme Ordnerstrukturen anlegen kann.

Also kurz einfach EGit Installieren, ein passendes Tutorial/User Guide/Getting Startet/Learning Egit suchen und nutzen.

Oder eben zusätzlich Git herunterladen und mit der Kommandozeile und alternativen GUIs hantieren. Produktiv ist aber auch EGit, da hier in der IDE angezeigt wird welche Dateien verändert wurden und Buttons/Dialoge anbietet diese dann zu Versionieren oder zu Vergleichen.


----------

