Erfahrungen zu 'Git in der Gambas-IDE' ?

Alle Fragen zur Programmierung, die nicht in die speziellen Themen passen
Antworten
Benutzeravatar
Honsek
Foriker
Beiträge: 408
Registriert: Do 4. Okt 2007, 17:01
Kontaktdaten:

Erfahrungen zu 'Git in der Gambas-IDE' ?

Beitrag von Honsek » Mi 30. Okt 2019, 13:15

Ein herzliches Hallo in die Runde ...

Ich habe mich jetzt eingehend mit der Versionierungsumgebung Git befasst. Für ein Beispiel-Gambas-Projekt kann ich meine Versionierunsstrategie auf der Konsole umsetzen. Eine feine Sache. Es gibt aber auch in der IDE das Feature 'Git in der Gambas-IDE'. Dazu finde ich aber keine Dokumentation - nicht einen Schnipsel. Es geht nicht darum, wie man Git in einem Gambas-Projekt einsetzen könnte, sondern darum, wie Git in der Gambas-IDE zu bedienen ist.

Gesucht wird eine gute Dokumentation zu Git in der Gambas-IDE oder auf ein Hinweis zu einer Stelle im weltweiten Netz. Kann Jemand von seinen Erfahrungen zu diesem Themenkreis berichten?

Mit freundlichem Gruß
Honsek (https://www.gambas-buch.de)
---> Wenn Du eine gute Antwort erwartest, musst Du sehr gut fragen!

Benutzeravatar
Honsek
Foriker
Beiträge: 408
Registriert: Do 4. Okt 2007, 17:01
Kontaktdaten:

Re: Erfahrungen zu 'Git in der Gambas-IDE' ?

Beitrag von Honsek » Mo 4. Nov 2019, 09:00

Ein herzliches Hallo in die Runde,
hallo Christof,

schade, dass keine Hilfe zum Thema ' Git in der IDE' in Sicht ist. Bleibt noch die Alternative der externen Versionskontrolle mit Git in einer Konsole.
Am 28.10.19 um 13:09 schrieb Christof Thalhofer:
> Ich benutze Git nicht mit der IDE sondern im Terminal ... geht viel schneller.
... und genau an dieser Stelle bin ich jetzt ... .

Hallo Christof,

die Umsetzung von Git in der IDE ist m.E. völlig unausgegoren. Da ich jetzt mit Git auf der Konsole einen Blick hinter die Git-Kulissen geworfen habe, verstärkt sich mein Eindruck. Die grundlegenden Git-Befehle (von denen ich annehme, dass sie mich weiterbringen bei einem Projekt, das ich unter Versionskontrolle stellen will) und deren Wirkung kenne ich nun.

Was mir nun noch fehlt ist das Prozedere, wie man ein Projekt P - das unter Versionskontrolle stehen soll - weiterentwickelt.

Folgendes stelle ich mir vor:
  • Ich lege ein neues Projekt P an und stelle es in der IDE sofort unter Versionskontrolle mit Git. Damit entfällt ein 'git init'.
  • Dann erprobe ich das Projekt P.
  • Vor umfangreichen Änderungen wie projekt-weite Änderungen von Bezeichnern oder Erzeugung einer neuen Klasse sichere ich das aktuelle Projekt mit einem initialen Commit auf dem aktuellen Zweig 'master'. Ich lege einen neuen Zweig 'test' an und wechsele auf den neuen Zweig - der nach meinem Wissen identisch mit 'master' ist. Im Zweig 'test' nehme ich die o.a. Änderungen vor und erprobe das Projekt. Alles funktioniert so, wie ich mir das vorstelle (zu diesem Zeitpunkt)
  • Dann wechsele ich zum Zweig 'master' mit: git checkout master und füge die Änderungen von Zweig 'test' ein: git merge test.
  • Danach sichere ich das aktuelle Projekt mit einem weiteren Commit auf dem aktuellen Zweig 'master'.
  • Anschließend lösche ich den Zweig 'test': git branch --delete test
  • Das o.a. Spiel wiederholt sich zyklisch.
Ich hoffe sehr, dass ich mit meinen Überlegungen richtig liege.

Die Zeilen in viewtopic.php?f=12&t=5545&p=12983&hilit=Git#p12981 habe ich in einigen Punkten nicht verstanden bzw. es tauchen Fragen auf:
  • Wechselst Du händisch in der Konsole in das Git-Verzeichnis des aktuellen Projektes?
  • Ich nehme, dass am Projekt in der IDE und mit Git in der Konsole parallel gearbeitet wird!?
  • Am Projekt im Zweig `master` arbeitend, nehme ich in der Konsole einen Commit C1 vor, um das aktuelle Projekt zu sichern.
  • Dann lege ich in der Konsole einen neuen Zweig `test`: git branch test.
  • Danach wechsle ich vom Zweig `master` in den Zweig `test`: 'git checkout master'.
  • Ein Wechsel von der Konsole in die IDE zeigt zwar, dass das Projekt jetzt unter Versionskontrolle steht, es wird aber nur der Zweig `master` angezeigt. Keine Spur vom neuen Zweig `test` und kein Hinweis, dass der nun aktiv ist. Es gibt offensichtlich keine Synchronisation? Ja, wie auch. Es sind offenbar zwei verschiedene Prozesse.
... und jetzt weiß ich nicht mehr weiter. Doch: In einem Punkt zeigt sich, dass nach einem Neustart des Projektes die Zweige angezeigt werden und der Quelltext dem aktuellen Zweig entspricht. Was nun - was tun?

Mit freundlichen Grüßen

Hans
Honsek (https://www.gambas-buch.de)
---> Wenn Du eine gute Antwort erwartest, musst Du sehr gut fragen!

Benutzeravatar
tionov
Site Admin
Beiträge: 314
Registriert: So 18. Mai 2014, 22:40
Kontaktdaten:

Re: Erfahrungen zu 'Git in der Gambas-IDE' ?

Beitrag von tionov » Mo 4. Nov 2019, 10:20

Honsek hat geschrieben:
Mo 4. Nov 2019, 09:00
Ein herzliches Hallo in die Runde,
hallo Christof,
Ich glaube hier heiße ich tionov ;-)

die Umsetzung von Git in der IDE ist m.E. völlig unausgegoren. Da ich jetzt mit Git auf der Konsole einen Blick hinter die Git-Kulissen geworfen habe, verstärkt sich mein Eindruck.
Das kann gar nicht anders sein, ich kenne keine grafische Umsetzung von Git, die es komplett abzubilden in der Lage ist. Immer ist es halbgar. Git bietet einfach zu viele Möglichkeiten, hier verabschiedet man sich IMO am besten von der Maus und der Idee, auf Knöpfe zu drücken.

Folgendes stelle ich mir vor:
...
Ich hoffe sehr, dass ich mit meinen Überlegungen richtig liege.
Ja, alles komplett richtig. Nur würde ich den jeweiligen Branch, den du "test" nennst, anders benennen, und zwar nach der Aufgabe, die darin gerade bearbeitet wird, und ihn noch eine Weile stehen lassen und nicht gleich wieder löschen. Man kann ja viele Branches gleichzeitig parallel haben.
Die Zeilen in viewtopic.php?f=12&t=5545&p=12983&hilit=Git#p12981 habe ich in einigen Punkten nicht verstanden bzw. es tauchen Fragen auf:
  • Wechselst Du händisch in der Konsole in das Git-Verzeichnis des aktuellen Projektes?
Ja. Und genau dafür verwende ich die Shell Zsh und oh-my-zsh. Da gibt es nämlich den Befehl wd als Ergänzung zu cd. wd ist Warp-Directory, damit kann ich direkt zum Projektverzeichnis springen. Zsh bietet bessere Unterstützung für Autocomplete mit der Tab Taste.

Ich schreibe so:

wd fr<Tab><Return>

Zsh ergänzt zu "wd frontend<Return>"

und wd springt zu "~/programming/gambas/myprojectx/dbfrontend"

Das geht dann ganz schnell.

oh-my-zsh bietet noch viele weitere Möglichkeiten, Dinge zu beschleunigen. Es zeigt einem am Prompt an, dass amn sich ineinem Git-Verzeichnis befindet und es kennt viele Kürzel, wie "gl" für git pull oder "gp" für git pull usw.
  • Ich nehme, dass am Projekt in der IDE und mit Git in der Konsole parallel gearbeitet wird!?
Nur bedingt. Bei einem Commit, ändert sich nichts am Arbeitsverzeichnis. So lange sich da nichts ändert, ist es kein Problem für die IDE.

Anders, wenn man den Branch wechselt. Da ändert sich unter Umständen das Arbeitsverzeichnis komplett. Wenn ich das tue, oder auch wenn ich pulle, schließe ich die IDE vorher und starte sie danach. Also immer, wenn das Arbeitsverzeichnis von Git oder einem anderen Programm geändert wird, schließe ich die IDE vorher und starte sie danach.

Allerdings kannst du das wohl auch innerhalb der IDE erledigen, also pullen, den Zweig wechseln, etc. und sie aktualisiert sich dann selbst (wahrscheinlich macht sie intern so eine Art Restart).
Alles Gute,

tionov

Benutzeravatar
Honsek
Foriker
Beiträge: 408
Registriert: Do 4. Okt 2007, 17:01
Kontaktdaten:

Re: Erfahrungen zu 'Git in der Gambas-IDE' ?

Beitrag von Honsek » Mo 4. Nov 2019, 12:30

Guten Tag tionov,

nach dem Lesen steht fest, dass ich mich nun doch noch einmal mit 'Git in der IDE' befasse. Leider ist dieses Feature für Git und SVN ausgelegt. Der Quelltext legt das nahe. Daher auch die schwammigen Übersetzungen. Noch viel schlimmer ist aber der Umstand, dass nicht klar ist, welche Aktionen mit den einzelnen Buttons ausgelöst werden - ja, beim ersten Button ist die Aktion schon klar. Aber wo gibt man einen passenden Kommentar zu dem Commit ein? -> Offenbar im Journal und scheckt dann dort ein - es funktioniert!

Menü_001.png
Menü_001.png (7.64 KiB) 33 mal betrachtet
Menü_001_2.png
Menü_001_2.png (8.88 KiB) 33 mal betrachtet

Beispiel: 'Synchronize': Was wird hier synchronisiert? Wo stehen genau dazu Informationen?

Es heißt im Menüpunkt Projekt> 'Unter Versionskontrolle stellen ... > Mit Git'. Das legt nahe, dass dort auch 'Mit SVN' stehen könnte? Offensichtlich wird geprüft, ob Git oder SVN (Subversion) installiert ist. Also als User wieder in den Quelltext abtauchen und nachsehen, um in der Arbeit weiter zu kommen. Ein Hoch³ auf die Entwickler, die uns Anwender so im Regen stehen lassen!

Ich schreibe nach meinem Szenario - in meinem letzten Beitrag - eine Anleitung für die Versionskontrolle mit Git unter Einbeziehung der internen Konsole und werde mich dann wieder melden. Es muss doch eine befriedigende Lösung geben!

Mit flottem Gruß

Hans
Honsek (https://www.gambas-buch.de)
---> Wenn Du eine gute Antwort erwartest, musst Du sehr gut fragen!

Benutzeravatar
tionov
Site Admin
Beiträge: 314
Registriert: So 18. Mai 2014, 22:40
Kontaktdaten:

Re: Erfahrungen zu 'Git in der Gambas-IDE' ?

Beitrag von tionov » Mo 4. Nov 2019, 12:49

Honsek hat geschrieben:
Mo 4. Nov 2019, 12:30
Ein Hoch³ auf die Entwickler, die uns Anwender so im Regen stehen lassen!
Es gibt nur einen Entwickler, Benoît Minisini, der Gambas3 innerhalb seines Berufes und seiner Freizeit entwickelt und uns allen umsonst zur Verfügung stellt.

Da sage ich erst mal danke und wenn ich ein Problem sehe, dann erwarte ich nicht, dass er springt und das geändert wird, sondern versuche dazu beizutragen, dass es geändert wird. Alternativ könnte man ihm den Job geben, es zu ändern, dann sollte man aber dafür zahlen.

Der Mensch hat viel zu tun und Dokumentation, wenn notwendig, können auch die Benutzer von Gambas schreiben. Ich kann also in diesem Fall deine Meinung leider nicht teilen.
Alles Gute,

tionov

Benutzeravatar
tionov
Site Admin
Beiträge: 314
Registriert: So 18. Mai 2014, 22:40
Kontaktdaten:

Re: Erfahrungen zu 'Git in der Gambas-IDE' ?

Beitrag von tionov » Mo 4. Nov 2019, 13:26

Eines aber muss ich noch ergänzen. Ich verstehe deine Genervtheit. Git fordert einem zu Beginn doch Einiges ab, die Lernkurve ist steil, man muss viel Neues verstehen lernen, bevor es sich erschließt.

So weit ich das noch erinnere hat Benoît die Git-Zutaten der IDE geschrieben, als Gambas selbst von SVN zu Git wechselte. Ich denke, es war auch mit seine Art und Weise, Git zu verstehen. Weil er ständig die IDE benutzt und nur damit mit Git arbeitet, hat er halt seine wichtigsten Kommandos da integriert. Ich habe Git schon viel früher verwendet und darauf gedrungen, für die Unterstützung in der IDE einen Ausschalter zu haben. Weil ich committe viel kleinteiliger, als das (IMO) heute in der IDE möglich wäre, also teile oft mehrere Änderungen auf mehrere Commits auf während in der IDE nur alle Änderungen auf einmal übermittelt werden können.

Da habe ich einen anderen Arbeitsansatz als er und schon passt es nicht mehr.

So ist das mit Git. Es ist eine eigene Welt.
Alles Gute,

tionov

Antworten

Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 1 Gast