Wie verwaltet ihr eure Projekte?

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2636
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Wie verwaltet ihr eure Projekte?

Beitrag von m.fuchs »

Socke hat geschrieben:Mit einem verteilten Versionkontrollsystem (Bazaar, Mercurial oder Git) verlierst du nur dein Backup ;-)


Ja, ich weiß, ich bin altmodisch. Ich habe zweimal versucht mich mit git zu beschäftigen, aber irgendwie wollte der Funke nicht überspringen. Vielleicht kann mich ja jemand in Köln überzeugen.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

mischi
Beiträge: 206
Registriert: Di 10. Nov 2009, 18:49
OS, Lazarus, FPC: macOS, 10.13, lazarus 1.8.x, fpc 3.0.x
CPU-Target: 32Bit/64bit

Re: Wie verwaltet ihr eure Projekte?

Beitrag von mischi »

m.fuchs hat geschrieben:Ja, ich weiß, ich bin altmodisch. Ich habe zweimal versucht mich mit git zu beschäftigen, aber irgendwie wollte der Funke nicht überspringen. Vielleicht kann mich ja jemand in Köln überzeugen.

Am Anfang dachte ich auch, dass der Fehler an mir liegt, aber es wurde im Laufe der Zeit einfach nicht besser. Vielleicht taugt es ja für Projekte mit sehr vielen Leuten, aber für kleine Projekte ist es Overkill mit einer umständlichen und inkonsistenten Bedienung. Auch wenn immer wieder behauptet wird, dass man mit nur wenigen Befehlen einen guten Workflow hat, stimmt das einfach nicht. Ich landete mehrmals in Situation, wo ich entweder einfach alle neu aufsetzten musste oder nur wieder raus kam, nachdem ich mich doch in Details eingelesen hatte oder mit Hilfe von git-Experten. Git ist als version control system wie C als Programmiersprache.
MiSchi macht die fink-Pakete

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Wie verwaltet ihr eure Projekte?

Beitrag von mse »

Hast du denn MSEgit schon probiert?

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Wie verwaltet ihr eure Projekte?

Beitrag von Warf »

mischi hat geschrieben:Am Anfang dachte ich auch, dass der Fehler an mir liegt, aber es wurde im Laufe der Zeit einfach nicht besser. Vielleicht taugt es ja für Projekte mit sehr vielen Leuten, aber für kleine Projekte ist es Overkill mit einer umständlichen und inkonsistenten Bedienung. Auch wenn immer wieder behauptet wird, dass man mit nur wenigen Befehlen einen guten Workflow hat, stimmt das einfach nicht. Ich landete mehrmals in Situation, wo ich entweder einfach alle neu aufsetzten musste oder nur wieder raus kam, nachdem ich mich doch in Details eingelesen hatte oder mit Hilfe von git-Experten. Git ist als version control system wie C als Programmiersprache.


Ist ja auch vom Torvalds, wenn die Lieblingssprache des Entwicklers C ist, ist klar das nichts einfaches rauskommen kann.

Aber ja ich kann verstehen das es unnötig kompliziert ist (z.B. warum es den stash gibt geht komplett an mir vorbei). Allerdings ist es eigentlich nicht so schwer. Man benötigt privat eigentlich nur ein paar dinge:
git clone: Erstellen eines lokalen repos als klon eines online repos
git pull: updates vom server ziehen (Wichtig: eigene änderungen vorher commiten)
git add (-A /...) && git commit -m "Message": added dateien zum stash (-A für alle neuen/geänderten dateien, oder jede datei einzeln angeben) und commite mit einer commitmessage
git push: eigene updates auf server pushen (wichtig vorher pullen & commiten)
git diff (commit) zeige änderungen seit angegebenem commit (falls keiner angegeben ist, seit aktuellem commit)
git log: zeige liste aller commits
git reset --hard (commit): lösche alle änderungen und commits bis zum angegebenen commit (ohne commit: alle lokalen änderungen)
git checkout -- file1 ... filen: setzte änderungen der dateien file1 ... filen zurück.

Für commits zu addressieren kann man entweder die hexnummer nehmen, oder sie relativ angeben HEAD~n bezeichnet den n-ten commit vor dem aktuellen HEAD

Wenn man im team arbeitet muss man sich noch mit branches und merges auseinander setzen, für den home gebrauch braucht man aber eigentlich nur die paar commands.

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Wie verwaltet ihr eure Projekte?

Beitrag von Mathias »

Ich habe für mein OpenGL 3.3 Tutorial, dieses Miniscript gebaut, man muss nur den Kommentar mitgeben.

Code: Alles auswählen

#!/bin/bash
cd OpenGL_3.3
git add .
git commit -m "$1"
git push
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Wie verwaltet ihr eure Projekte?

Beitrag von Warf »

Mathias hat geschrieben:Ich habe für mein OpenGL 3.3 Tutorial, dieses Miniscript gebaut, man muss nur den Kommentar mitgeben.

Code: Alles auswählen

#!/bin/bash
cd OpenGL_3.3
git add .
git commit -m "$1"
git push


Ich hab einfach das in meiner zshrc/bashrc:

Code: Alles auswählen

alias git-commit='git add -A && git commit -m'

Das pushen mach ich ungern im selben schritt, denn manchmal muss man vorher noch pullen, oder möchte seine änderungen gar nicht hochladen (z.B. wenn man begrenztes internet hat und ein paar megabyte hochladen müsste). Der zwischenschritt durch den stash stört mich immer, daher verwende ich dann einfach dieses alias, außer ich möchte nur bestimmte dateien ändern (z.B. keine neuen dateien hinzufügen, dann mach ich git commit -am)

Antworten