Git und Github mit Gambas für Projekt nutzen, aber wie?

Alle sonstigen Themen wie Fragen zur IDE, Fehler, Paketierung, ...
Antworten
Mintnix
Foriker
Beiträge: 4
Registriert: So 8. Jul 2018, 14:56
Kontaktdaten:

Git und Github mit Gambas für Projekt nutzen, aber wie?

Beitrag von Mintnix » So 8. Jul 2018, 15:46

Hallo Leutz,

ich bin noch ziemlich unerfahren mit Gambas und auch erst vor kurzem auf die Version 3.11 umgestiegen.
Unter Linux Mint 17 war Gambas noch in den Paketquellen des Distributors dabei. Nun unter Linux Mint 19 (und 18 weiß ich gar nicht) ist das nicht mehr so. Da hab ich natürlich das über das Gambas Repo gelöst und die stabile Version genommen.

Jetzt ist mir aufgefallen, dass man im Gambasmenü / Projekt den Punkt Versionskontrolle (Git) nutzen kann. Nur leider blick ich das nicht so richtig.
Ich habe mir extra ein Konto auf Github angelegt, und wollte zukünftig meine Programme dort ablegen.

Wie geh ich da am besten vor?
Ich hab auf Github z.B. ein Repo (test) angelegt.
Unter Gambas erstelle ich ein neues Projekt mit irgendeinem Namen (testtest) und dann wähle ich, dass es mit Git verwaltet werden soll.
Aber wie geht es da genau weiter?

Ich habe gedacht, dass ich dann über Gambas das Projekt (also den eigentlichen Quellcode inkl. den benötigten Verzeichnissen) auf Github hochladen kann. Anschließend später nur die Änderungen, an den Dateien die ich bearbeitet habe.
Irgendwie steh ich da gerade auf dem Schlauch.

Vielleicht hat auch noch jemand ein paar Informationsquellen (auf deutsch) für mich zu Git und Github. Speziell in Verwendung mit Gambas wäre ncoh schöner.
Danke und Grüße

Mintnix

Mintnix
Foriker
Beiträge: 4
Registriert: So 8. Jul 2018, 14:56
Kontaktdaten:

Re: Git und Github mit Gambas für Projekt nutzen, aber wie?

Beitrag von Mintnix » So 8. Jul 2018, 20:25

Boah mir raucht der Kopf vom Git.

Habs jetzt irgendwie geschafft, die Dateien auf den Server zu bringen.

git push -f origin master

Die Option -f musste ich benutzen, bei -u oder ohne meckerte git immer folgendes:
Hinweis: Aktualisierungen wurden zurückgewiesen, weil die Spitze Ihres aktuellen
Hinweis: Branches hinter seinem externen Gegenstück zurückgefallen ist. Führen Sie
Hinweis: die externen Änderungen zusammen (z. B. 'git pull ...') bevor Sie "push"
Hinweis: erneut ausführen.
Hinweis: Siehe auch die Sektion 'Note about fast-forwards' in 'git push --help'
Hinweis: für weitere Details.
Und beim pull kam folgendes:
fatal: Verweigere den Merge von nicht zusammenhängenden Historien.

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

Re: Git und Github mit Gambas für Projekt nutzen, aber wie?

Beitrag von 4tionov » Mo 9. Jul 2018, 07:15

Hi Mintix,

Grüß dich hier im Forum, schön, dass Du dich für Gambas interessierst. Vorab, zu deiner Fehlermeldung kann ich nicht viel sagen, irgendwie scheinst du zwei Repos mit nicht vereinbarer History gebaut zu haben und Git weigert sich nun, die beiden zu mergen.
Boah mir raucht der Kopf vom Git.
Also das kenne ich sehr gut.

Ich selbst verwende Gambas seit Jahren und nutze auch Git für meine Projekte. Wenn man beides einigermaßen beherrscht, ist das tägliche Arbeiten damit nahezu die reine Freude. Bis man dahin kommt ... da kann einem schon mal der Kopf rauchen.

Ich würde nicht gleich mit Github (oder vergleichbarem) anfangen, sondern erst mal mit einem lokalen Repository arbeiten. Bei Git hast du ja das komplette Repository im Verzeichnis .git in deinem Projektverzeichnis. Da kannst du erst mal lernen, mit dem Themen Working Dir, Staging Area, Commit, Branch, Stash, Merge umzugehen und sie umzusetzen.

http://gitbu.ch/ch01.html#sec.begriffe

Erst wenn du diese Dinge einigermaßen beherrschst, also im Endeffekt mit dem lokalen Repo umgehen kannst, und damit das Grundkonzept von Git begriffen hast, erst dann würde ich empfehlen, sich daran zu machen, das Repo an andere Stelle zu spiegeln und nun zwischen den beiden oder mehreren abzugleichen (pull/push/fetch/clone mit einem entfernten Repo).

Zugleich würde ich empfehlen, auch wenn es am Anfang für manche eine unüberwindliche Hürde zu sein scheint, Git von der Kommandozeile aus zu verwenden. Nahezu jede grafische Umsetzung von Git ist in der Regel ein minimales Subset der Möglichkeiten von Git und entfernt einen nur etwas weiter vom Begreifen der Grundidee.

Jetzt zeige ich Dir kurz mein Setup, mit dem ich ständig und seit Jahren arbeite, und das sich für mich als die einfachste, praktikabelste und schnellste Lösung herausgestellt hat, Git mit Gambas (und vielen andern Programmiersprachen) zu verwenden:

Damit ich das Terminal blitzschnell zur Hand habe, verwende ich Guake:
https://wiki.ubuntuusers.de/Guake/

Im Terminal verwende ich als Shell die Zsh mit oh-my-zsh:
https://ohmyz.sh/
https://github.com/robbyrussell/oh-my-zsh/

Als einziges "halbgrafisches" Anzeigeinstrument für Git Repos nehme ich tig:
https://git.wiki.kernel.org/index.php/Tig
http://de.gitready.com/advanced/2009/07 ... o-git.html
Das kann man mit sudo apt install tig installieren.

Wie ich das verwende:

Mit Guake (der Aufufbefehl liegt bei mit auf der Taste [Druck]) öffne ich schnell das Terminal, Zsh zusammen mit oh-my-zsh zeigt mit am Prompt ob ich gerade in einem Repo bin, und welcher Branch gerade im Arbeitsverzeichnis ausgecheckt ist. Mit dem Befehl wd (warp directory) springe ich zwischen diversen Projekten hin und her. oh-my-zsh liefert tolle Shortcuts (statt git schreibe ich nur g) und Autocompletion mit Erklärung. [g][space][m][tab] liefert:
shell code
christof@tof-x230 ~/programming/gambas/deganius/deg-dbfrontend ±master » g m
common commands
merge  -- join two or more development histories together
mv     -- move or rename a file, a directory, or a symlink
Es erklärt mir also, dass es die Befehle mv und merge gibt und sagt mir, was ich damit tun kann.

Mit tig kann ich schnell den Zustand der Staging-Area bearbeiten und commiten.

Und danach auf dem Prompt den Commit auf einen anderen Server pushen. Wenn ich dann wieder [Druck] drücke, ist das Guake Terminal wieder weg und ich arbeite wieder in der IDE von Gambas weiter.
Alles Gute,

4tionov

Mintnix
Foriker
Beiträge: 4
Registriert: So 8. Jul 2018, 14:56
Kontaktdaten:

Re: Git und Github mit Gambas für Projekt nutzen, aber wie?

Beitrag von Mintnix » Mo 9. Jul 2018, 17:34

Danke für die schnelle Antwort.
Ja, dass da zwei verschiedene Repos bzw. "git's" (nenn ich es mal) entstanden sind ist klar. Deshalb die Fehlermeldung.
Aber wie soll man das dann machen?
Wenn ich z.B. unter Gambas den besagten Menüpunkt "mit Git verwalten" auswähle, dann erstellt Gambas ja ein .git im Verzeichnis des Projektes. Welches in dem Falle ja lokal wäre. Ich will doch aber das entfernte .git auf dem Server nehmen und nicht das lokale.

Ich probiere das nun nochmal, aber mit identischen Reponamen bzw. Projektnamen. Es muss doch möglich sein, dass ich das eine mit dem anderen verbinden kann.

Im Umkehrschluss habe ich natürlich gedacht, ich kann auch einfach das entfernte Repo auf meinen Rechner clonen und dann mach ich mit Gambas ein neues Projekt auf in dem geklonten Ordner. Aber das geht ja auch nicht, da ja Gambas dann meckert, "der Ordner existiert schon". Da steig ich halt nicht durch, was da die Logik ist.

Ich melde mich dann hier nochmal zu Wort, wie ich es nun genau mache.


Bzgl. der grafischen Tool für Git.
Ich hab da das git-gui installiert, aber nach dem ersten Start gleich wieder ausgeschaltet :D
Das blick ich im Moment gar nicht. Da eher versteh ich die Konsolenbefehle. Ich nutze dann das bei Gambas angebotene unter Projekt / Versionskontrolle (Git) / Übermitteln. Wenn ich Änderungen habe, dann bekomm ich dort auch eine Konsole.
Für was das Journal sein soll weiß ich gar nicht? Dort gibt es einen Knopf zum übermitteln. Was er da macht weiß ich aber nicht. Kennt sich da einer mit aus? Und was man in das Journal schreibt? Ist das überhaupt wichtig? Über den Tab zur Konsole kann ich ja dann auch alles machen, oder?
Ok, bis dahin. Ich versuch's jetzt gleich nochmal unter Gambas.

Mintnix
Foriker
Beiträge: 4
Registriert: So 8. Jul 2018, 14:56
Kontaktdaten:

Re: Git und Github mit Gambas für Projekt nutzen, aber wie?

Beitrag von Mintnix » Mo 9. Jul 2018, 19:16

Puh, also ich kann nur sagen, dass ich einmal den Befehl

Code: Alles auswählen

git push -f origin master
ausführen muss.
Dann überschreibt er scheinbar alles im entfernten GitHub Repo, zumindest werden die vorhandenen Dateien gelöscht.
Was in meinem Falle nur die Readme und die Lizenz war. Welche ich später wieder angelegt habe. Aber die Daten von meinem PC werden richtig auf das Repo übertragen.

Das "Journal" scheint ein git status anzuzeigen und mit dem Button Übermitteln, wird scheinbar ein commit mit dem oben eingegebenen Text erstellt. Aber einen push muss ich bisher scheinbar noch manuell über die Konsole machen.
Aber es kann sein, das ich erst noch ein git branch ... irgendwas übergeben muss, da der Befehl Synchronisieren aus dem Gambas Menü so eine Fehlermeldung ausgibt. Ist halt alles noch ziemlich neu für mich. Muß ich mich mal durchfuchsen. :)

Hier noch mein GitHub Linkhttps://github.com/Mintnix
Falls es jemand interessiert.

Nochmals Danke und Gruß
Mintnix

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste