Git & Mercurial (ab jetzt schreib' ich einfach DVCS) kennen alle Changesets aller Branches, die bei dem Merge zusammenkommen. Und zwar konsequent: Sie wissen für jede Zeile woher sie kam.
Wenn du also eine neue Methode einfügst, hast du die Zeilen drumrum nicht geändernt. Ein DVCS weiß das.
Wenn jetzt dein Kollege auch etwas hinzugefügt hat, wird dich das DVCS mit 95%-iger Wahrscheinlichkeit nichtmal nach einer Konfliktlösung fragen. Du hast dann einfach eine Datei mit beiden Methoden.
Wenn dein Kollege seine Änderung an einen anderen Kollegen weitergab und der etwas in der einen Methode änderte wird auch der 2. Kollege in keine Merge-Hölle geraten, wenn er das auf eure kombinierten Änderungen anwenden will.
Das DVCS weiß genau woher welche Zeile kam, und wenn es den Konflikt vllt nicht immer autom. lösen kann. Es kann dir und deinem Difftool schon sehr gut unter die Arme greifen.
Und nun zu den Commandline tutorials:
Die wollen dir das jeweilige DVCS zeigen. Das geht am besten wenn du genau weißt was passiert.
Das geht nicht mit einer
GUI, die 30 Befehle hinter einem einzigen Button versteckt.
Du *musst* dein VCS nicht nur verstehen, sondern jederzeit vorhersehen was es tun wird (natürlich in den Grenzen der Features, die du bereits beherrschst).
Ansonsten bekommst du irgendwann Magengeschwüre von all der Unsicherheit.
Ein Commandline Tutorial bringt dich zeitlich viel schneller von 0 zu fundierten Grundlagen.
Da haben Vorurteile absolut keinen Platz. (Die haben sie in unserer Branche eh nicht)
btw: Eines sollte man aber tunlichst sein lassen: Große binary Files.
Die wandern sonst ständig über den Äther. Ein DVCS macht kein Diff für Änderungen von binary files. Jede Änderung führt zu eine kompletten Kopie.
Das ist cool für Bildchens, die alle 3 Jahre (oder nie) geändert werden. Aber packt da keinen großen und/oder veränderlichen Binärkrams rein(*Hust* Word/Excel/PDF-Files).