Git Konflikte lösen

Hallo,

gibt es in Git Möglichkeiten Konflikte aufzulösen oder muss ich dies mit weiterer Software (Editor etc) tun?

Würde mich über eine Antwort freuen!

Hallo Hyrokkin,

gibt es in Git Möglichkeiten Konflikte aufzulösen oder muss
ich dies mit weiterer Software (Editor etc) tun?

Da in Git jeder unabhängig vom anderen die Dateien bearbeiten kann (kein Lock-Mechanismus) können natürlich Konflikte auftreten. Und beseitigen musst Du die natürlich selbst. Wenn der eine die Zeile zu

put x

und der andere die gleiche Zeile zu

get x

geändert hat (nur um mal ein relativ sinnloses Beispiel zu nennen), wie soll git entscheiden, was richtig ist. Das müsst ihr dann schon gemeinsam mit dem Editor machen. Git zeigt euch nur die betreffende Stelle an. Aber in der Regel treten solche Konflikte viel seltener auf als man sich das so vorstellt, jedenfalls bei einer vernünftigen Planung.
Steht aber auch im Handbuch
http://www.kernel.org/pub/software/scm/git/docs/gitt…
einfach nach „conflict“ suchen.
Wieso eigentlich weitere Software (Editor)? Den benutzt Du doch sowieso immer beim Programmieren. Oder habe ich deine Frage völlig falsch verstanden?

Viele Grüße
Marvin

Hallo Marvin

Wieso eigentlich weitere Software (Editor)? Den benutzt Du
doch sowieso immer beim Programmieren. Oder habe ich deine
Frage völlig falsch verstanden?

Ich meine nicht den Editor fürs Programmieren. Zum Beispiel bei TortoiseSVN wird ein „Editor“, welcher sich in TortoiseSVN befindet, mit geliefert. Bei Konflikten kann man dann sagen „Konflikt lösen“ und dann öffnet sich dieser Editor von TortoiseSVN, welcher dann beide Konfliktdateien und die entsprechende Stelle anzeigt. Dort kann man dann sagen „Nimm die Zeile von Datei A“ oder „Nimm die Zeile von Datei B“ oder ähnliches.

Bei Git habe ich so etwas nichts in der Art gefunden. Bin nur mal über git mergetool gestolpert, aber das ist wohl nur für Konflikte beim Mergen.
ansonsten müsste ich bei Git einen Editor wie oben beschrieben besorgen, zum Beispiel Beyond and Compare.

Hallo Hyrokkin,

Ich meine nicht den Editor fürs Programmieren.

ansonsten müsste ich bei Git einen Editor wie oben beschrieben
besorgen, zum Beispiel Beyond and Compare.

Ich hoffe, ich verstehe dich jetzt richtig, auch wenn ich noch nie was von Beyond and Compare gehört habe. Im Prinzip brauchst Du nur git und den Editor, den Du sowieso benutzt. Ich z.B. arbeite nur damit und bin völlig zufrieden.
Mit

git diff

und/oder

git status

siehst Du die Konflikte und kannst sie mit dem Editor beheben. Du kannst aber auch externe Tools einbinden, wie z.B. P4Merge
http://www.perforce.com/perforce/products/merge.html
http://www.geekgumbo.com/2010/05/12/installing-and-u…
Oder, wenn Du es noch komfortabler haben möchtest, kannst Du über git ein grafisches Tool stülpen, wie z.B. SmartGit
http://www.syntevo.com/smartgit/index.html
oder, da Du offenbar mit Tortoise vertraut bist, TortoiseGit
http://code.google.com/p/tortoisegit/
Zumindest unter Linux gehört zu git sowieso noch die grafische Oberfläche gitk bzw. git-gui, aber da Du wahrscheinlich Windows benutzt weiß ich nicht, ob es dort auch mit dabei ist.

Viele Grüße
Marvin

1 Like

Hallo,

Ich meine nicht den Editor fürs Programmieren. Zum Beispiel
bei TortoiseSVN wird ein „Editor“, welcher sich in TortoiseSVN
befindet, mit geliefert.

Wenn du TortoiseSVN benutzt gefällt dir evtl. tortoisegit, falls du das noch nicht kennst: http://code.google.com/p/tortoisegit/

Gruß
Heavy