2010-07-19 9 views
16

Ich benutze git rerere, und es ist nützlich, aber es gibt ein Problem: Wenn es automatisch eine Datei auflöst, wird sie nicht als aufgelöst markiert (zB mit git add). Wenn ich also 'git mergetool' starte, öffnet es die Datei, als ob sie immer noch alle Konflikte enthält.Haben gitrerere Dateien automatisch als aufgelöst markiert?

Bisher habe ich ein kleines Shell-Skript erstellt, das ich aufrufen kann. Es scannt alle als Konfliktmarker markierten Dateien (zB >>>>>>>) und ruft git-add auf, wenn sie keine haben.

Gibt es einen besseren Weg, dies zu tun? Irgendeine Flagge zu git rerere, die ich vermisste?

Antwort

17

Vielleicht eine git config Einstellung kann helfen:

rerere.autoupdate 

Wenn auf true gesetzt, git-rerere aktualisiert den Index mit dem resultierenden Inhalt, nachdem sie zuvor aufgezeichnete Auflösung sauber Konflikte lösen verwenden.
Standardeinstellung ist false.

Hinweis: seit Git1.7.0,

"git rerere" hatte rerere.autoupdate Konfiguration, aber es gab keine Möglichkeit, es von der Kommandozeile zu widerrufen;
--no-rerere-autoupdate Option gegeben "merge", "revert", usw. behebt dies.

+0

Ah, da war mein Problem. Ich habe auf der git-rerere-Seite nach Hilfe gesucht, die ziemlich spärlich ist. Ich dachte nicht daran, andere Git Man Seiten zu durchsuchen, um zu sehen, ob sie auch neue Informationen in ihnen hatten! – davr