[linux-l] Git Merge: 1-Personen-Konflikte lösen (stupid question?)

Ole Streicher linux-list at liska.ath.cx
Fr Mai 22 22:51:07 CEST 2009


Hallo,

weil hier gerade die Diskussion über Git herumging: mir ist (nach dem
Lesen einiger Tutorials) nicht so ganz klar, wie man am besten Konflikte
löst. Vielleicht lebe ich auch noch zu sehr in der zentralen CVS-Welt.

Konkret: ich habe ein Git-Projekt, welches ich auf mehreren Rechnern
bearbeite: "A" im Institut, "B" auf meinem Laptop. Da mein Institut
keinen einfachen Zugang gestattet, gibt es ein zentralen Repository "C"
auf einem virtuellen Server irgendwo im Netz.

Nun kommt es vor, dass ich auf dem Laptop eine Änderung gemacht, diese
aber nicht eingecheckt habe (warum auch immer...), sie aber wichtig ist.

Im Institut "A" nehme ich einige Veränderungen vor, committe sie, pushe
sie zu "C". Abends möchte ich gerne die "vergessenen" Änderungen von "B"
 mit den neuen Sachen synchronisieren und nach "C" pushen.

also auf "B":

> git pull
Updating 4e323..ca34fe54
error: entry 'src/my_file.py' not uptodate. Cannot merge.
>

Und nu? Wie kann ich diesen Konflikt lösen? Unter CVS/SVN hätte ich
jetzt eine Konfliktdateien, die mir die Änderungen anzeigen, und in
denen ich festlegen kann, was nun die "richtige" Änderung ist.

Wie fährt man hier in git fort? Und/oder habe ich die falsche Strategie?
Wie bekomme ich mit Git eine Handvoll Rechner (einen im Institut, ein
Laptop und evtl noch einen festen zuhause) sinnvoll und fehlersicher in
das gleiche Projekt?

Wovor ich ein wenig Befürchtungen habe ist, dass ich irgendwann drei
verschiedene Branches habe und das nicht merke...

Viele Grüße

Ole



Mehr Informationen über die Mailingliste linux-l