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.