Git - Konsole vs GUI-Plugin

Jack159

Lieutenant
Registriert
Dez. 2011
Beiträge
766
Hallo,

Git kann man ja sowohl rein über die Konsole bedienen als auch komplett ohne Konsole mittels GUI-Plugins.
Ist das wirklich komplett egal was man von beidem nimmt? Sind beide nahezu gleichwertig? Oder ist die Konsolenvariante deutlich mächtiger?

Und wie sieht das vorallem im Beruf später aus? Kommt das da auf die Firma an? Was sollte man sich also eher aneignen? Konsole oder GUI-Plugin?
 
Die Konsole ist natürlich deutlich funktionsreicher. Das brauchst du aber in den allerseltensten Fällen. Die Tools reichen vollkommen aus. Der wirkliche Vorteil ist aber, wie ich finde, dass du Dinge viel schneller erledigen kannst (weil weniger klicken). Tools sind besser, um einen Commit vorzubereiten.
Ich nutze immer beides. Um Commits zu erstellen ein GUI Tool und für alles andere die Konsole.
 
Die Konsole ist immer am mächtigsten. Die Git GUI kannst du gleich ignorieren, weil es deutlich bessere Oberflächen gibt.

Aus meiner Sicht am besten (und einfachsten für Einsteiger) ist Atlassian Sourcetree:
http://www.sourcetreeapp.com/

Falls man eine Explorer-Integration unter Windows mag - also speziell andere Tortoise Produkte für CVS oder SVN kennt, dann kann auch TortoiseGIT eine brauchbare Alternative sein:
http://code.google.com/p/tortoisegit/
 
Wenn du es später beruflich einsetzen willst, rate ich zur Konsole, um sich etwas tiefgründiger mit git zu beschäftigen.

Meines Erachtens halten Tools dich davon ab, git tiefergehend zu begreifen und spätestens, wenn bei größeren Problemen das Tool aussteigt, muss jemand her, der davon Ahnung hat (und das wird vermutlich ein Konsolero sein). Der aus meiner Sicht größte Vorteil von GUIs ist die nettere Darstellung von diffs, aber auch daran gewöhnt man sich auf der Konsole und kann sie dann ganz gut verstehen. Wenn man zusätzlich sowas wie github, bitbucket, redmine, trac, usw. einsetzt, fällt das aber quasi auch als Vorteil weg, da dort auch ordentliche diff-Darstellungen dabei sind (es sei denn man braucht sie ständig, dann ist man mit GUI natürlich schneller).

GUI:
  • schöne diff-Darstellung
  • Limitierung auf die angebotenen Buttons verringert die Gefahr groben Unfug zu praktizieren
  • einfacheres blame
Konsole:
  • Geschwindigkeit
  • so ziemlich überall verfügbar (z.B. wenn du jemand anderem mal helfen willst/musst)
  • Voller Funktionsumfang (mit großer Macht kommt große Verantwortung usw.)
  • man ist näher dran und weiß dadurch besser, was eigentlich passiert
    • wenn etwas schief geht, weiß man sich dadurch eher zu helfen

Das ist übrigens eine persönliche Meinung inkl. stark subjektiver Wertung und ja, ich blicke ein wenig auf GUI-only-User herab. Zumindest auf die, die das professionell verwenden und keinen Schimmer haben, was hinter den Knöpfen passiert.
P.S.: da du von "Plugins" sprichst - falls es hier zufällig um eGit für Eclipse geht, dann kann ich nur davon abraten. Das ist eine Katastrophe. Solltest du Windows/Mac-User sein, dann ist Sourcetree ganz nett. Bei Linux ist der Weg zur Konsole ja von Hause aus kürzer.
 
Auf dem Mac führt nichts an Tower ( http://www.git-tower.com/ ) vorbei. Kostet zwar einen Obolus, als Student erhält man aber 50% Rabatt und das Tool ist nicht nur verdammt sexy, sondern funktioniert auch hervorragend.

Im Grunde bietet es quasi dieselbe Funktionalität wie Sourcetree, aber wenn man die aufgeräumten GUIs von Apple so sehr schätzt, dann greift man doch lieber zu Tower :D (zumindest ich konnte nicht anders) ;)

Wenn es - wie schon angedeutet - sich um eGit handelt. Ich hab es immer im Hintergrund laufen, da ich im Eclipse dann direkt den Status meines Repositorys sehe UND wenn mein externer Git Client Änderungen auscheckt, registriert Eclipse das innerhalb weniger Sekunden und baut das Projekt neu,
AAAABER: Versuch niemals damit einen Commit oder Merge oder sonstwas mit eGit zu machen, in 50% der Fälle zerschießt man sich sein lokales Repository... Und Features wie Submodule werden zwar beim Checkout berücksichtigt, aber Code pushen geht damit irgendwie nicht (oder ich hab das unter-unter-unter-unter-menü noch nicht gefunden)
 
Viele IDEs haben GIT und/oder SVN bereits als PlugIn integriert so dass man bereits mit seinem IDE einen Client mitbringt.
 
konsole ;)

hat den vorteil unter linux:
ssh server ... -> git commit, push wenn man's vergessen hat
 
Konsole (+ gitk)

Die Konsole bietet dir von Haus aus mehr Möglichkeiten und ist für den Standardgebrauch noch immer SEHR überschaubar.

Wenn du github als Server verwendest, hast du dort auch schöne Statistiken und Übersichten, wodurch Programme wie Tower wohl gänzlich obsolet sind.
 
Einfach gesagt solltest Du beides beherrschen, Konsole und GUI.

Es gibt übrigens wirklich keinen Grund, irgendwelche Tools zu kaufen. Als Server kannst du RhodeCode verwenden, als GUi am besten SourceTree. Beide sind frei verfügbar und beherrschen sowohl git als auch hg. Somit kannst du später immer bequem wechseln, ohne eine komplett neue Umgebung zu lernen.

Falls du gerade dich gerade erst für ein DVCS entscheidest, würde ich ganz klar hg empfehlen. Es ist nicht so unnötig komplex wie git und viel intuitiver, und die Dokumentation ist IMHO auch verständlicher.
 
Zurück
Oben